Бих искал да добавя геолокация към мобилната версия на моя карта, разположена на http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html
.
Картата ми се зарежда чрез този JavaScript файл
http://alert.fcd.maricopa.gov/alert/Google/v3/js/mobilemap_v3.js
, Ти ще забележите, че ред 46 от този файл е -
map = new google.maps.Map($("#map_canvas")[0],myOptions);
Опитах примера за геолокация в https://developers.google.com/maps/documentation/javascript/examples/map-geolocation
и W3 HTML5 Geolocation метод на http://www.w3schools.com/html/html5_geolocation.asp
, Но картата ми се зарежда чрез jquery и не се използва
map = new google.maps.Map(document.getElementById("map-canvas"),
mapOptions);
като всички примери.
Мога да накарам геолокацията да работи, ако замени $ в ред 46 с document.getElementById, но след това никой от сензорите / създателите няма дисплея.
Някой знае ли как мога да получа геолокацията да работи с моя маркерите / данните все още се зареждат?
Отговори:
2 за отговор № 1Намерих отговор на това! Използвах geolocationmarker-compiled.js (в http://code.google.com/p/google-maps-utility-library-v3/source/browse/trunk/geolocationmarker/src/geolocationmarker-compiled.js?r=379) и след това се добавя
var GeoMarker;
GeoMarker = new GeolocationMarker();
GeoMarker.setCircleOptions({
fillColor: "#808080"});
google.maps.event.addListenerOnce(GeoMarker, "position_changed", function() {
map.setCenter(this.getPosition());
map.fitBounds(this.getBounds());
});
google.maps.event.addListener(GeoMarker, "geolocation_error", function(e) {
alert("There was an error obtaining your position. Message: " + e.message);
});
GeoMarker.setMap(map);
и работи чудесно. Мобилната карта с работа с геолокация се намира на адрес http://alert.fcd.maricopa.gov/alert/Google/v3/mobile.html и кода за геолокация в файла mobilemap_v3.js, ако някой иска да направи същото.