Браузер Android не работает с геолокацией

Я создаю сайт, который использует код геолокации, Предположим загрузить mapCanvas и после того, как пользователь нажмет на «Finde Me!». Кнопка получает его местоположение и устанавливает центр карты на основе местоположения пользователя. Он отлично работает с Firefox, Chrome, Safari, тестируется на обычных ПК и iPhone, единственное устройство не работает с ним – это любой мобильный телефон с Android. Вот код:

<script src="http://maps.google.com/maps?file=api&v=3&key=YourKey" type="text/javascript"></script> <script type="text/javascript"> //<![CDATA[ var iconBlue = new GIcon(); iconBlue.image = 'http://labs.google.com/ridefinder/images/mm_20_blue.png'; iconBlue.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; iconBlue.iconSize = new GSize(17, 25); iconBlue.shadowSize = new GSize(1, 1); iconBlue.iconAnchor = new GPoint(6, 20); iconBlue.infoWindowAnchor = new GPoint(5, 1); var iconRed = new GIcon(); iconRed.image = 'http://labs.google.com/ridefinder/images/mm_20_red.png'; iconRed.shadow = 'http://labs.google.com/ridefinder/images/mm_20_shadow.png'; iconRed.iconSize = new GSize(17, 25); iconRed.shadowSize = new GSize(1, 1); iconRed.iconAnchor = new GPoint(6, 20); iconRed.infoWindowAnchor = new GPoint(5, 1); var customIcons = []; customIcons["restaurant"] = iconBlue; customIcons["bar"] = iconRed; function load() { if (GBrowserIsCompatible()) { var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(new GLatLng(50.061795,19.936924), 16); // Change this depending on the name of your PHP file GDownloadUrl("Your_xml.php", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address, type); map.addOverlay(marker); } }); } } function createMarker(point, name, address, type) { var marker = new GMarker(point, customIcons[type]); var html = "<b>" + name + "</b> <br/>" + address; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; } //]]> function findLoc(){ if (!navigator.geolocation) { alert('Sorry, your browser does not support Geo Services'); } else { // Get the current location navigator.geolocation.getCurrentPosition(showMap); } } function showMap(position){ var lat = position.coords.latitude; var lon = position.coords.longitude; var myPoint = new GLatLng(lat, lon); var map = new GMap2(document.getElementById("map_canvas")); map.setCenter(myPoint, 15); GDownloadUrl("Your_xml.php", function(data) { var xml = GXml.parse(data); var markers = xml.documentElement.getElementsByTagName("marker"); for (var i = 0; i < markers.length; i++) { var name = markers[i].getAttribute("name"); var address = markers[i].getAttribute("address"); var type = markers[i].getAttribute("type"); var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")), parseFloat(markers[i].getAttribute("lng"))); var marker = createMarker(point, name, address, type); map.addOverlay(marker); } }); function createMarker(point, name, address, type) { var marker = new GMarker(point, customIcons[type]); var html = "<b>" + name + "</b> <br/>" + address; GEvent.addListener(marker, 'click', function() { marker.openInfoWindowHtml(html); }); return marker; } } 

Я не мог найти решения, чтобы заставить его работать. PS Нет никаких ошибок или утверждений, дающих какой-либо намек, что делает его более понятным. Устройство получило GPS-разрешение. Просьба помочь Я пытался выяснить это в течение 2 недель

Боюсь, у вас просто есть сложная старомодная отладка перед вами. Моим подходом было бы добавить видимый вывод в различных важных точках кода (как раз до и после getCurrentPosition , так и в начале showMap , например) и узкий оттуда только там, где происходит сбой. Как только вы поймете, что у вас не получается, вы, вероятно, можете развить идею о том, почему, но пока вы не знаете, что вы дрожите в темноте.

(Я работал над мобильным веб-сервером на основе геолокации, поддерживавшим Android, поэтому, если вам нужно какое-либо подтверждение, в вашей ситуации нет ничего принципиально невозможного).

Intereting Posts