GMAP Marker Custom Icons

Discman

Mitglied
Hallo!

Also ich bin ein totaler Anfänger, was Flex angeht, möchte aber dennoch dem ganzen etwas näher kommen und versuche gerade eine kleine Anwendung mit Google Maps zu schreiben...jetzt bin ich leider auf ein Problem gestoßen...

Ich hab mehrere Buttons und die sind alle mit einem Click-Event ausgestattet wird darauf geklickt sollen jeweils andere Marker auf der Map gesetzt werden. Das heisst ich übergebe PHP immer eine Variable um die korrekten Datensätze dann zurückzubekommen.

Das mit dem Einlesen aus PHP/SQL/XML funktioniert einwandfrei, mit derzeit nur einem Marker, mein Problem ist jetzt aber, dass ich das Icon der jeweiligen Marker ersetzen möchte.

Ok hier einmal der ActionScript Bereich.


Code:
public function getXml(whatMarker:String):void 
		{
  			var xmlString:URLRequest = new URLRequest("get_marker.php?whatMarker=" + whatMarker + "");
 			var xmlLoader:URLLoader = new URLLoader(xmlString);
  			xmlLoader.addEventListener("complete", readXml);
		}
		
		public function readXml(event:Event):void
		{
  		var markersXML:XML = new XML(event.target.data);
  		var markers:XMLList = markersXML.marker;
  		
  		
  			for (var i:Number = 0; i < markers.length(); i++)
  			{
   				 var marker:XML = markers[i];
   				 var latlng:LatLng = new LatLng(marker.@lat, marker.@lng);
   			 
   
    			map.addOverlay(createMarker(latlng));
  			}
		}
		
  	public function createMarker(latlng:LatLng): Marker
  		{	
 			var marker:Marker = new Marker(latlng);
 			marker.setOptions(setMarkerOptions(marker));
 
 			return marker;
		} 
		
		public function setMarkerOptions(marker:Marker):MarkerOptions
		{
			var marker_options:MarkerOptions = new MarkerOptions();  
			marker_options.hasShadow = false;
			marker_options.icon = this.icon_home; //PROBLEM
			return marker_options;
		}

Ich habe im gleichen Ordner wie die swf Icons abgespeichert (PNG).
Klickt man auf den ersten Button "HOME" liest PHP alle Datensätze für "home" aus in dem Fall logischerweise nur ein Datensatz.

Ein Datensatz besteht aus lat und lng, um den Punkt auf der Karte zu setzen.
In der Schleife werden die Marker also erstellt und die Marker Options für den Marker immer wieder hinzugefügt.

Mit

Code:
marker_options.icon = .....

kann man ja ein eigenes Icon, statt den Google Map Standard Icons verwenden. Leider funktioniert genau dieser Punkt nicht. Wenn ich diese Zeile auskommentier bekomm ich den Marker gesetzt.

Vielleicht kann mir da irgendwer helfen ich habe die Icons in dem Stil abgespeichert:

home_icon.png

Das heisst wenn ich irgendwie home_icon.png zuweisen könnte an die MarkerOptions und dieses Bild übernommen werden würde, wäre ich einen Schritt weiter.

Um das ganze noch zu verfeinern wäre es ein Hit wenn ich das etwas dynamischer hätte in der String Variable whatMarker steht beim Klick auf Home der Wert "home" somit könnte ich das "home" bei meinem png ersetzen durch eine dynamische Variable die nur noch die Endung "_icon.png" benötigt.

Vielleicht noch als Anmerkung, ich weiss zwar nicht ob es ein Problem geben könnte dadurch aber die Map selbst wurde so eingebaut:

XML:
<mx:Canvas id="map_canvas" width="1024" height="568">
	 	<ns1:Map xmlns:maps="com.google.maps.*" mapevent_mappreinitialize="onMapPreinitialize(event)" id="map" width="1024" height="568" key="api_key"/>
	 	<mx:Image source="@Embed('control_zoom_in.png')" id="zoom_in" x="10" y="10" buttonMode="true" click="mapControl(event, 0)"/>
	 	<mx:Image source="@Embed('control_zoom_out.png')" id="zoom_out" x="10" y="50" buttonMode="true" click="mapControl(event, 1)"/>
	 	</mx:Canvas>

Hoffe mir kann da irgendwer helfen, ich zerbrich mir da schon seit gestern den Kopf darüber. Er will einfach die von mir angelegten Icons nicht anzeigen.

Vielen vielen Dank!
 
Zuletzt bearbeitet von einem Moderator:

Neue Beiträge

Zurück