PlanetGMaps Forum

planetGMaps

Die deutsche Google Maps Community.
Die Möglichkeiten sind da!

Forum

Forum Suche | Forum Übersicht | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen | Anmerkung: registrierte Benutzer können sich über neue Einträge benachrichtigen lassen


zum vorhergehenden Thema Thema drucken zum nächsten Thema

Übersicht ::  Google Maps API ::  Google Maps API ::  Warum werden keine Marker erzeugt?
moderiert von: Steffen

Zum aktuellsten Beitrag 

Warum werden keine Marker erzeugt?

mojopojo verfasst: 04.09.2010, 18:04
Neu hier
Neu hier
mojopojo

registriert: Aug. 2010
Beiträge: 4

Status: offline
letzter Besuch: 04.09.10
Huhu,

ich habe folgenden Javascript in mein HTML eingebunden jedoch erzeugen sich keine Marker beim clicken auf die Karte, sondern nur die InfoWindows. Hat vielleicht jmd. eine Idee, warum die Marker nich erzeugt werden?

//<![CDATA[

var centerLatitude = 37.4419;
var centerLongitude = -122.1419;
var startZoom = 12;
var map;


function init(){
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map"));

//Map Konfiguration
map.addControl(new GLargeMapControl());
map.addControl(new GScaleControl());
map.addControl(new GMapTypeControl());

map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);

//Der Benutzer kann die Karte anklicken,
//um einen Marker zu erzeugen
GEvent.addListener(map, "click",
function(overlay, latlng) {

//Ein DOM-Element im HTML-Formular erzeugen
var inputForm = document.createElement("form");
inputForm.setAttribute("action", "");
inputForm.onsubmit = function() {storeMarker();
return false;};

//Länge und Breite des angeklickten Punkts ermitteln
var lng = latlng.lng();
var lat = latlng.lat();

inputForm.innerHTML = '
'
+'Neuer Marker'
+'<label for ="found">Gefunden</label>'
+'<input type="text" id="found" />'
+'<label for="left">Versteckt</label>'
+'<input type="text" id="left" />'
+'<input type="submit" value="Speichern" />'
+'<input type="hidden" id="longitude" value="' + lng +'" />'
+'<input type="hidden" id="latitude" value="' + lat +'" />'

map.openInfoWindow (latlng,inputForm);
//var marker = new GMarker(latlng)
//map.addOverlay(marker);

});
}
}

window.onload = init;
window.onunload=GUnload;
//]]>


/*********************************** Funktion zur Übertragung der Markerdaten mit Ajax zum Server ************************/
function storeMarker(){
var lng = document.getElementById("longitude").value;
var lat = document.getElementById("latitude").value;

var getVars= "?found="
+document.getElementById("found").value
+"&left=" + document.getElementById("left").value
+"&lng=" + lng
+"&lat=" + lat;

var request = GXmlHttp.create();

//Anforerung an storeMarker.php auf dem Server
request.open('GET','storeMarker.php'
+ getVars, true);
request.onreadystatechange = function () {
if(request.readyState == 4) {
alert('Antwort wird verarbeitet');
//Anforderung abgeschlossen

var xmlDoc = request.responseXML;
//root-Dokementelement (response) übernehmen
var responseNode = xmlDoc.documentElement;
//type-Attribut des Knotens übernehmen
var type = responseNode.getAttribute ("type");

//Inhalt von responseNode übernehmen
var content = responseNode.firstChild.nodeValue;

//Prüfung: Fehler oder Erfolg?
if(type!='success') {
alert(content);
} else {

//Neuen Marker erzeugen und Infofenster
//hinzufügen
var latlng = new GLatLng(parseFloat(lat),
parseFloat(lng));
var marker = createMarker(latlng, content);
map.addOverlay(marker);
map.closeInfoWindow();
}
}
}
request.send(null);
alert('Fortsetzen');
return false;
}

// Infofenster mit Daten füllen + Erzeugung des GMarker-Objekts
function createMarker(latlng, HTML) {
alert("Marker");
var marker=new GMarker(latlng);
map.addOverlay(marker);
GEvent.addListener(marker, 'click', function() {
var markerHTML = HTML;
marker.openInfoWindowHtml (markerHTML);
});
return marker;
}
Nach oben  Profil PM senden
 


User online:

Diese Angaben basieren auf den Useraktivitäten der letzten 10 Minuten

^ Top | © 2006 planet-gmaps.de | css | xhtml