2011-01-09 6 views
2

Auf meiner Website, http://www.foodtrucksmap.com/, werden die Markergrößen durch die Anzahl der offenen Lebensmittel-LKWs in dieser Stadt bestimmt. Das Problem ist, wenn der Marker für Los Angeles zu groß wird, sieht es so aus, als ob der Punkt des Markers entweder im Ozean oder in Mexiko liegt. Dies könnte dadurch gelöst werden, dass die Mitte der Markierung entlang der y-Achse einfach um die Hälfte der Markierungshöhe versetzt wird. Ich kann nicht herausfinden, wie man diesen Code schreibt !!gwt-maps - Marker Offset dynamisch ändern

Eine andere (schlechte) Option wäre, die Höhe des Bildes zu verdoppeln und den Knopf halb transparent zu lassen. Das Problem bei dieser Methode ist, dass der transparente Teil des Bildes anklickbar ist!

Bitte helfen Sie mir eine Lösung zu finden, danke!

Antwort

0

Überprüfen Sie this Beispiel mit der JavaScript-API.

Grundsätzlich können Sie die Ankerpunktkoordinate Ihres benutzerdefinierten Symbols als Zentrum des Markers definieren. Verwenden Sie anstelle der Mitte die untere Spitze/Kante Ihres LKW-Symbols. Schauen Sie sich die „iconAnchor“ Eigenschaft:

// Create a base icon for all of our markers that specifies the 
// shadow, icon dimensions, etc. 
var baseIcon = new GIcon(G_DEFAULT_ICON); 
baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png"; 
baseIcon.iconSize = new GSize(20, 34); 
baseIcon.shadowSize = new GSize(37, 34); 
baseIcon.iconAnchor = new GPoint(9, 34); // THIS IS WHAT YOU CARE ABOUT 
baseIcon.infoWindowAnchor = new GPoint(9, 2); 

In Ihrem Fall, dass Sie den Ankerwert um so etwas wie setzen würde:

// Assuming the tip is exactly in the middle at the bottom of the icon 
.iconAnchor = new GPoint(iconWidth/2, 0); 

ich verwendet habe, nicht die GWT-Karten, die Sie erwähnen - aber da sie wird in der Regel nur die JavaScript-API umbrechen, die in der Lage sein sollte, die entsprechende Eigenschaft zu finden, die gesetzt werden soll. Können Sie eine Verknüpfung zu der von Ihnen verwendeten gwt-maps-Implementierung herstellen?