2014-09-22 2 views
5

Ich bin neu bei google-maps. Ich arbeite an einem Projekt, bei dem ich eine Polylinie mit einer Pfeilspitze zeigen muss. Die Größe der Polylinie ist perfekt, aber der Pfeil erscheint zu groß. Ich benutze einfach diesen Code.Die Größe meines Symbols wird zu groß, wenn ich in Google-Karte verkleinern

var lineSymbol = { 
    path: google.maps.SymbolPath.FORWARD_CLOSED_ARROW, 
    scale: 2 
    }; 
var a = new google.maps.LatLng(lat1, lon1); 
var b = new google.maps.LatLng(lat2,lon2); 
var myTrip = [a, b]; 
var flightPath = new google.maps.Polyline({ 
     path: myTrip, 
     icons: [{ 
     icon: lineSymbol, 
     offset: '100%' 
     }], 
     strokeColor: "#8B0000", 
     strokeOpacity: 0.8, 
     strokeWeight: 6 
}); 

Diese Links unten sind die, die ich je gesehen habe, aber sie sind nicht in der Nähe, was ich brauche :)

Die Links die ich gesehen habe sind

+0

Die API ändert nicht die Größe (Skalierung) von Symbolen, wenn sich der Zoom ändert, also wie kann der Marker zu groß werden, wenn sich die Größe nicht ändert? –

+0

Ich skaliere das Symbol beim Ein- und Auszoomen von Kartenereignissen wie scale = map.getZoom() * ;. Es gibt Zoomstufen von 0-21, so dass Sie die Mathematik wie Sie Ihr Symbol entsprechend skalieren möchten. – Abs

+0

Es ist so, dass die Skala nicht angewendet wird .. Es scheint mir das gleiche:/ –

Antwort

0

Sie können die in Ihrem ersten Link beschriebene Strategie verwenden, um zu tun, was Sie wollen.

google.maps.event.addListener(map, 'zoom_changed', function() { 
    zoomLevel = map.getZoom(); 
    //this is where you will change your icon...  
    }); 

Innerhalb dieses Hörer können Sie die scale Eigenschaft Ihres Symbol sowie alle anderen Eigenschaften, die Sie (vielleicht Schlaganfall Gewicht, usw.) ändern möchten das Symbol ändern.

Verwandte Themen