Google MAP API裡面有不少的功\能可以用,這次就以設定多個Marker來簡單的介紹,在使用Google MAP API之前,一定要記得先去申請API的Key,如果沒有Key,就無法使用,這部份可以參考" 如何將經緯度利用Google Map API顯示 C# VS2005 Sample Code "裡面的介紹,有了使用API的Key後,就可以開始著手開發我們所要的功\能,這次要做出來的效果如下圖,同時可以顯示出多個Marker在上面.

首先網頁加入以下的Javascript.
03 |
<script language="javascript" type="text/javascript"> |
05 |
function AddPointToMap(loc) { |
07 |
if (GBrowserIsCompatible()) { |
09 |
var aryLoc=loc.split(\'#\');//將傳進來的經緯度字串split到陣列 |
10 |
var map = new GMap2(document.getElementById("map")); |
12 |
//加入Google MAP上所要用的Control |
13 |
map.addControl(new GLargeMapControl()); |
14 |
map.addControl(new GMapTypeControl()); |
15 |
map.addControl(new GScaleControl()); |
17 |
for (var i = 0; i < aryLoc.length; i++) { |
18 |
var x=aryLoc[i].split(\',\')[0]; |
19 |
var y=aryLoc[i].split(\',\')[1]; |
20 |
var point = new GLatLng(x,y);//經緯度 |
21 |
map.addOverlay(new GMarker(point));//加入Marker |
22 |
if (i==0){map.setCenter(point, 18);}//將地圖的中心設在定一個點 |
Body的部份
1 |
<body id="MainBody" runat="server"> |
2 |
<form id="form1" runat="server"> |
3 |
<div id="map" style="width: 500px; height: 400px"> |
後端
01 |
protected void Page_Load(object sender, EventArgs e) |
06 |
"25.048306,121.516700#" + |
07 |
"25.048506,121.516300#" + |
08 |
"25.048856,121.516500"; |
09 |
this.MainBody.Attributes.Add("onload", string.Format("AddPointToMap(\'{0}\');", strLoc)); |
用" # "來分開每組經緯度,而緯度則用逗號" , "來分開,所以地圖上會分別顯示以下這三組Marker.
25.048306,121.516700
25.048506,121.516300
25.048856,121.516500
以上這樣就完成囉~
|