2013-04-26 124 views
0

我正在使用PhoneGap庫,ADT java插件,HTML和jQuery的項目。 我使用下面的代碼進行地理定位,但我不知道如何使用infowindows添加多個標記。什麼是添加多個標記的正確方法?如何在Google地圖中添加多個標記?

,我已經使用這個腳本是這樣的:

window.plebeosaur = window.plebeosaur || { 
     map: function() { 
      var // get the page's canvas container 
       mapCanvas = document.getElementById('map_canvas'), 
       // define the Google Maps options 
       map_options = { 
        zoom: 17, 
        // let's initially center on downtown Austin 
        center: new google.maps.LatLng(30.264664, -97.747378), 
        mapTypeId: google.maps.MapTypeId.ROADMAP 
       }, 
       // then create the map 
       map = new google.maps.Map(mapCanvas, map_options), 


       myMarker = 0, 
       displayLocation = function(position) { 
        // create a new LatLng object for every position update 
        var myLatLng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); 


        // build entire marker first time thru 
        if (!myMarker) { 
         // define our custom marker image 
         var image = new google.maps.MarkerImage(
          'bluedot.png', 
          null, // size 
          null, // origin 
          new google.maps.Point(8, 8), // anchor (move to center of marker) 
          new google.maps.Size(17, 17) // scaled size (required for Retina display icon) 
         ); 


         // then create the new marker 
         myMarker = new google.maps.Marker({ 
          flat: true, 
          icon: image, 
          map: map, 
          optimized: false, 
          position: myLatLng, 
          title: 'I might be here', 
          visible: true 
         }); 


        // just change marker position on subsequent passes 
        } else { 
         myMarker.setPosition(myLatLng); 
        } 


        // center map view on every pass 
        map.setCenter(myLatLng); 
       }, 
       handleError = function(error) { 
        var errorMessage = [ 
         'We are not quite sure what happened.', 
         'Sorry. Permission to find your location has been denied.', 
         'Sorry. Your position could not be determined.', 
         'Sorry. Timed out.' 
        ]; 


        alert(errorMessage[ error.code ]); 
       }, 
       // cache the userAgent 
       useragent = navigator.userAgent; 


      // set the map canvas's height/width (Google Maps needs inline height/width) 
      mapCanvas.style.width = mapCanvas.style.height = '100%'; 


      // allow iPhone or Android to track movement 
      if (useragent.indexOf('iPhone') !== -1 || useragent.indexOf('Android') !== -1) { 
       navigator.geolocation.watchPosition( 
        displayLocation, 
        handleError, 
        { 
         enableHighAccuracy: true, 
         maximumAge: 30000, 
         timeout: 27000 
        } 
       );   


      // or let other geolocation capable browsers to get their static position 
      } else if (navigator.geolocation) { 
       navigator.geolocation.getCurrentPosition(displayLocation, handleError); 
      } 
     } 
    }; 

回答

2
var beaches = [ 
    ['Bondi Beach', -33.890542, 151.274856, 4], 
    ['Coogee Beach', -33.923036, 151.259052, 5], 
    ['Cronulla Beach', -34.028249, 151.157507, 3], 
    ['Manly Beach', -33.80010128657071, 151.28747820854187, 2], 
    ['Maroubra Beach', -33.950198, 151.259302, 1] 
]; 

for (var i=0;i<beaches.length;i++) 
{ 
    // add your markers here 
} 

您可以添加多個標記,通過填充你的位置陣列,然後通過遍歷數組中的每個標記添加到地圖。您還可以創建一個函數來爲信息窗口添加事件偵聽器。

+0

謝謝。我在哪裏添加代碼? – Overnet 2013-04-26 19:44:31

相關問題