2016-07-12 4 views
2

Ich habe diese Reihe von Codes und es funktioniert, jedoch jedes Mal, wenn ich auf meine Taste klicke, um meinen gegenwärtigen Standort zu erhalten, wird es meine Karte zur Mitte positionieren. Ist es möglich, meinen Standort zu bekommen, während ich meine Karte nicht bewege?Wie man Google Karte vom Schalten zum Zentrum stoppt

google.maps.event.addDomListener(controlText, 'click', function(self) 
{ 
    getLocation(self); 
}); 

function getLocation(self) 
{ 
    console.log("in get location", self); 
    let locationOptions = 
    { 
     timeout    : 60000, 
     enableHighAccuracy : true 
    }; 

    navigator.geolocation.getCurrentPosition 
    (
     (position) => 
     { 
      self.curLat  = position.coords.latitude; 
      self.curLong = position.coords.longitude; 
      console.log("updated position coord:"+self.curLat+","+self.curLong); 
      self.local  = new Storage(LocalStorage); 
      self.local.set("currLong", self.curLong); 
      self.local.set("currLat", self.curLat); 

      map.setCenter(new google.maps.LatLng(self.curLat, self.curLong)); 
      markers   = removeMarker(markers); 
      addMarker(map, markers); 
     }, 
     (error) => {console.log(error);}, locationOptions 
    ); 
}; 

myLocationMarker = new google.maps.Marker 
({ 
    map   : map, 
    icon  : image, 
    animation : google.maps.Animation.DROP, 
    position : map.getCenter(), 
    id   : 'myLocationMarker' 
}); 

markers.push(myLocationMarker); 

Ich habe mein Problem zu lösen, indem

map.setCenter(new google.maps.LatLng(self.curLat, self.curLong)); 
    to 
var latLng = new google.maps.LatLng(self.curLat, self.curLong); 

und Weitergabe der Daten an addMarker ändert es für die Position zu verwenden.

+0

Haben Sie versucht, die 'Position zu entfernen: map.getCenter()' Eigenschaft aus dem Objekt, das Sie google.maps.Marker passieren? – cjross

+0

Hallo, ich habe dieses Problem gelöst, indem ich map.setCenter entfernt habe. Vielen Dank! –

Antwort

0

diese Zeile entfernen:

map.setCenter(new google.maps.LatLng(self.curLat, self.curLong));