2012-03-28 100 views
0

我想在地圖上同時顯示兩個不同的位置,一個是當前位置,另一個是不同位置。我使用JavaScript V3版本。這是我的代碼,用於顯示一個位置。谷歌地圖API V3 - 在同一地圖上有兩個標記的位置

  var pos = new google.maps.LatLng(latitude, longitude); 


      window.localStorage.setItem("event_location",pos); 

      if (!google) { 
        loadScript(); 
       } 
      var pos1 = window.localStorage.getItem("current_location"); 
       alert('position '+pos1); 

       var myOptions = { 
        center : pos, 
        zoom : 8, 
        mapTypeId : google.maps.MapTypeId.ROADMAP 
       }; 


       var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions); 

       var contentString = '<div id="content">'+ 
       '<div id="siteNotice">'+ 
       '</div>'+ 
       '<h4 id="firstHeading" class="firstHeading">'+add+'</h4> ' + 
       '<div id="bodyContent">'+ 
       '<p>Meeting with'+'<b> '+ personName + '</b>, <br/>on ' + 
       '<b>'+startDate+'</b> at ' + 
       '<b>'+startTime+'</b>' + 
       '</div>'+ 
       '</div>'; 


      var infowindow = new google.maps.InfoWindow({ 
       content: contentString 
      }); 

      var marker = new google.maps.Marker({ 
       position: pos, 
       map: map, 
       title:"Event Location!" 
      }); 



      google.maps.event.addListener(marker, 'click', function() { 
       infowindow.open(map,marker); 
      }); 

pos1是我的第二個位置,它是通過手機當前位置方法計算出來的。請幫助我。

+0

請顯示位置的存儲方式?我的意思是'pos1'的價值是什麼?一個字符串? – Diode 2012-03-28 05:45:04

+0

如果(navigator.geolocation){ \t \t navigator.geolocation.getCurrentPosition(函數成功(位置){ \t \t \t \t \t \t變種位置=新google.maps.LatLng(position.coords.latitude, \t \t \t \t \t \t position.coords.longitude); \t \t \t window.localStorage.setItem( 「CURRENT_LOCATION」,位置); \t \t }); \t \t} else { \t \t alert('geolocation not supported'); \t \t} pos1是位置。 – upender 2012-03-28 05:56:14

回答

0

如果pos1google.maps.LatLng實例

var marker = new google.maps.Marker({ 
    position: pos, 
    map: map, 
    title:"Event Location!" 
}); 

google.maps.event.addListener(marker, 'click', function() { 
    infowindow.open(map,marker); 
}); 

var marker1 = new google.maps.Marker({ 
    position: pos1, 
    map: map, 
    title:"New Location!" 
}); 

google.maps.event.addListener(marker1, 'click', function() { 
    infowindow.open(map,marker1); 
}); 

marker.setMap(map); 
marker1.setMap(map); 
+0

map和myOptions的值對於兩個標記是否相同? – upender 2012-03-28 05:58:51

+0

是的。正如你所說的「兩個位置與標記在同一張地圖上」:) – Diode 2012-03-28 06:01:12

+0

但它不工作,它給了我錯誤「控制檯(15022):未捕獲的錯誤:無效值屬性:(28.6048506,77.36979930000007)http:// maps .gstatic.com/intl/en_us/mapfiles/api-3/8/5/main.js:1 「 – upender 2012-03-28 06:04:42

0

寫用於顯示第二標記,即代碼如果u具有LAT長POS1創建一個標記,並且在同一地圖上顯示它。如果客戶端瀏覽器具有合理的處理能力,則幾乎不需要毫秒來顯示secod標記

+0

地圖上只顯示一個標記。 – upender 2012-03-28 06:26:58