2012-03-28 7 views
0

Ich möchte zwei verschiedene Standorte auf der Karte zur gleichen Zeit anzeigen, einer ist der aktuelle Standort und der andere ist ein anderer Standort. Ich benutze Javascript V3 Version. Dies ist mein Code für die Anzeige eines Ortes.Google Maps API V3 - Zwei Standorte mit Markern auf der gleichen Karte

  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 ist mein zweiter Standort, der von phonegap aktuellen Standortmethode berechnet wird. Bitte hilf mir.

+0

Bitte zeigen Sie, wie der Standort gespeichert ist? Ich meine, was wird der Wert von "pos1" sein? ein Faden ? – Diode

+0

if (navigator.geolocation) { \t \t navigator.geolocation.getCurrentPosition (Funktion Erfolg (Position) { \t \t \t \t \t \t var Position = new google.maps.LatLng (position.coords.latitude, \t \t \t \t \t \t position.coords.longitude); \t \t \t window.localStorage.setItem ("CURRENT_LOCATION", Position); \t \t }); \t \t} else { \t \t Warnung ('Geolocation wird nicht unterstützt'); \t \t} Pos1 ist Position. – upender

Antwort

0

Wenn pos1 ist google.maps.LatLng Instanz

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

Karte und myOptions-Wert ist für zwei Marker gleich? – upender

+0

Ja. Wie Sie sagten "Zwei Ort mit Markierungen auf der gleichen Karte" :) – Diode

+0

Aber es funktioniert nicht, es gab mir Fehler "Console (15022): Uncaught Fehler: Ungültiger Wert für Eigenschaft : (28.6048506, 77.36979930000007) bei http: // Karten .gstatic.com/intl/de_us/mapfiles/api-3/8/5/main.js: 1 " – upender

0

den Code zum Anzeigen des zweiten Marker schreiben das heißt, wenn u die lat lange haben für pos1 einen Marker erstellen und auf der gleichen Karte anzuzeigen. es dauert kaum Millisekunden, um die Secod-Markierung anzuzeigen, wenn der Client-Browser eine angemessene Verarbeitungskapazität hat

+0

In der Karte wird nur ein Marker angezeigt. – upender

Verwandte Themen