Google Maps Skript funktioniert nicht richtig

Das Problem ist vorerst behoben, bin nun weiter am Basteln. Danke dennoch für deine Hilfe. Werde mich wieder melden wenn ich Probleme habe, oder wenn ich fertig bin und sich jemand dafür interessiert.
 
Nun bin ich doch wieder an ein Problem gestossen. Ich kann ein "custom icon" nicht bewegen. Der normale Tropfen lässt sich ohne Probleme verschieben, jedoch nicht wenn ich ein anderes Icon nehme. Ist das so, oder liegt das an mir?
 
Hier mal mein Script.
Mit "map.addOverlay(marker);" am schluss funktionierts, doch ich möchte halt mein eigenes Icon (später ein anderes als das hier" verschieben können..

Code:
 var map = new GMap2(document.getElementById("map"));
 var address = document.getElementById('addressInput').value;
 var geocoder = new GClientGeocoder();
 map.addControl(new GLargeMapControl());
 map.addControl(new GMapTypeControl());
 
   // Create our "tiny" marker icon
  var icon = new GIcon();
  icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
  icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
  icon.iconSize = new GSize(12, 20);
  icon.shadowSize = new GSize(22, 20);
  icon.iconAnchor = new GPoint(6, 20);
  icon.infoWindowAnchor = new GPoint(5, 1);
     
// Our info window content
var infoTabs = [
  new GInfoWindowTab("Tab1", "This is tab #1 content"),
  new GInfoWindowTab("Tab2", "This is tab #2 content"),
  new GInfoWindowTab("Tab3", "This is tab #3 content")
];

     geocoder.getLatLng(address, function(latlng) {
       if (!latlng) {
         alert(address + ' not found');
       } else {
      
			GEvent.addListener(map, "moveend", function() {
  	  //var center = map.getCenter();
		  //document.getElementById("message").innerHTML = "<div style=\"font-family: Verdana,Arial; font-size:12px;\">Kartenmitte (Breite, Länge in °): "+center.toString()+"</div>";
		});
     map.setCenter(latlng, 15);
	   var marker = new GMarker(latlng, {draggable: true});
	   
     GEvent.addListener(marker, "dragstart", function() {
     map.closeInfoWindow();
        });
     GEvent.addListener(marker, "dragend", function() {
           
     });
       GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowTabsHtml(infoTabs);
      });
          
          //map.addOverlay(new GMarker(latlng, icon));
          map.addOverlay(marker);
          marker.openInfoWindowTabsHtml(infoTabs);
        }});
 
Naja, du erzeugst doch schon ein Icon:
Code:
// Create our "tiny" marker icon
  var icon = new GIcon();
  icon.image = "http://labs.google.com/ridefinder/images/mm_20_red.png";
  icon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
  icon.iconSize = new GSize(12, 20);
  icon.shadowSize = new GSize(22, 20);
  icon.iconAnchor = new GPoint(6, 20);
  icon.infoWindowAnchor = new GPoint(5, 1);
Wenn du dort ein eigenes Icon erzeugen willst, dann tu dies(die Parameter sollten soweit ja nachvollziehbar sein).

Damit dieses Icon dann auch als Marker angezeigt wird, musst du es beim Erzeugen desselben ebenfalls als Parameter übergeben:
Code:
var marker = new GMarker(latlng, {draggable: true,icon:icon});

Beachte, dass das erste "icon" immer "icon" heissen muss, und im 2. "icon" der Name des erzeugten GIcons(der ist ja im Beispiel auch "icon" :))
 
Neues Problem :)
Ich hole die Pins aus einer DB, was auch prima funktioniert. Nur wenn ich eigene Pins anzegen will, verschieben sie sich beim herauszoomen. wenn ich z.b. auf Stufe 15 bin sind sie genau da wo sie hingehören, doch bei 5 liegen sie in einem anderen Land.
Woran liegt das?
Code:
function showicons(point, name, address, type) {
       var marker = new GMarker(point, myicons);
      //var marker = new GMarker(point);
      var html = "<b>" + name + "</b> <br/>" + address;
      GEvent.addListener(marker, 'click', function() {
        marker.openInfoWindowHtml(html);
      });
      return marker;
    }
stell ich um auf var marker = new GMarker(point); geht alles...
 
Ich hoffe es stört nicht, wenn ich diesen Thread für meine Probleme mit Google Maps missbrauche....
Ist es möglich ein <div> über die Karte zu legen um dort Permanente informationen zu zeigen?
 

Neue Beiträge

Zurück