2016-04-01 3 views
0

Dieser Code ermöglicht es mir, die Markierungen, die ich auf einer Karte gemacht habe, zu sehen. Weiß jemand, wie ich den Standort des Benutzers einfach auf der Karte anzeigen kann? Hier ist mein Code so weit ... Immer wenn ich versuche und den Google Maps API Entwickleranweisungen zu folgen, kann ich nicht scheinen, den Benutzerstandort auf der Karte sowie die Markierungen zu zeigen, die ich bereits arbeite, bitte könnte jemand helfen! Ich würde es sehr schätzen, danke. JacobWie ist es möglich, den Standort des Benutzers sowie meine Markierungen auf der Karte anzuzeigen?

<script type="text/javascript"> 
var customIcons = { 
    point: { 
    icon: 'img/points.png', 
    shadow: 'http://labs.google.com/ridefinder/images/mm_20_shadow.png' 
    }, 
}; 
function load() { 
    var map = new google.maps.Map(document.getElementById("map"), { 
    center: new google.maps.LatLng(53.8, -1.55), 
    zoom: 14, 
    mapTypeId: 'roadmap' 
    }); 
    var infoWindow = new google.maps.InfoWindow; 
    // Change this depending on the name of your PHP file 
    downloadUrl("phpsqlajax_genxml.php", function(data) { 
    var xml = data.responseXML; 
    var markers = xml.documentElement.getElementsByTagName("marker"); 
    for (var i = 0; i < markers.length; i++) { 
     var name = markers[i].getAttribute("name"); 
     var type = markers[i].getAttribute("type"); 
     var point = new google.maps.LatLng(
      parseFloat(markers[i].getAttribute("lat")), 
      parseFloat(markers[i].getAttribute("lng"))); 
     var html = "<b>" + name + "</b> <br/>" + type; 
     var icon = customIcons[type] || {}; 
     var marker = new google.maps.Marker({ 
     map: map, 
     position: point, 
     icon: icon.icon, 
     shadow: icon.shadow 
     }); 
     bindInfoWindow(marker, map, infoWindow, html); 
    } 
    }); 
} 
function bindInfoWindow(marker, map, infoWindow, html) { 
    google.maps.event.addListener(marker, 'click', function() { 
    infoWindow.setContent(html); 
    infoWindow.open(map, marker); 
    }); 
} 
function downloadUrl(url, callback) { 
    var request = window.ActiveXObject ? 
     new ActiveXObject('Microsoft.XMLHTTP') : 
     new XMLHttpRequest; 
    request.onreadystatechange = function() { 
    if (request.readyState == 4) { 
     request.onreadystatechange = doNothing; 
     callback(request, request.status); 
    } 
    }; 
    request.open('GET', url, true); 
    request.send(null); 

} 

function doNothing() {} 
//]]> 

+0

Sie müssen ['getCurrentPosition'] (https://developer.mozilla.org/en-US/docs/Web/API/Geolocation/getCurrentPosition) verwenden. – Andy

Antwort

0

Sie können eine Initialisierungsfunktion wie diese verwenden oder den Teil extrahieren Sie

function initialize() { 

    if(google.loader.ClientLocation) { 
     loc.lat = google.loader.ClientLocation.latitude; 
     loc.lng = google.loader.ClientLocation.longitude; 

     var latlng = new google.maps.LatLng(loc.lat, loc.lng); 

     var myOptions = { 
     zoom: 15, 
     mapTypeId: google.maps.MapTypeId.ROADMAP 
    }; 
    var map = new google.maps.Map(document.getElementById("map"), myOptions); 
    var marker = new google.maps.Marker({ 
     position: latlng, 
     map: map 
     }); 

    } 
} 
0

Verwenden Sie die geolocation-marker Bibliothek benötigen. Es macht das sehr einfach.

Haftungsausschluss: Ich bin der Autor der Bibliothek.

Verwandte Themen