Подключение к геолокации.
Решил выставить на хостинг HTML5 Geolocation, написал javascrip, создал 4 разных файла с исходниками, index.html insert.php javascript.js
сайт выводит только отображение карты,без маркеров и даже без запроса на разрешение о местонахождение. Я так понимаю, где-то есть ошибка в javascript коде в файле javascript.js, API key инициализировал правильно. function initialize() { var mapOptions = { zoom: 8, center: new google.maps.LatLng(-34.397, 150.644), mapTypeId: google.maps.MapTypeId.ROADMAP } var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); } this.showAllPosition = function(){ var pos; $.ajax({ url: 'select.php', success:function(msg){ pos = JSON.parse(msg); var mapOptions = { center: new google.maps.LatLng(-34.397, 150.644), zoom: 10, mapTypeId: google.maps.MapTypeId.ROADMAP} this.map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions); for(var i=0;i<pos.length;i++){ var marker2 = new google.maps.Marker({ position: new google.maps.LatLng(pos[i].lat,post[i].lng), map: this.map, title: pos[i].date }); this.setMyPosition = function(zoom){ if (navigator.geolocation){ navigator.geolocation.getCurrentPosition(showPosition);{ var lat = position.coords.latitude; var lat = position.coords.longitude; $.ajax({ type: 'POST', url: 'insert.php', data: ({lat:lat,lng:lng)}, success:function(msg){ } }); var mapOptions = { center: new google.maps.LatLng(lat,lng), zoom: zoom, mapTypeId: google.maps.MapTypeId.ROADMAP} this.map = new google.maps.Map(document.getElementById("map_canvas"),mapOptions); var marker = new google.maps.Marker({ position: new google.maps.LatLng(lat,lng), map: this.map, title: "Your Position!" }); else { alert("Пожалуйста используйте стандартный браузер телефона, этот не поддерживается и не сможет корректно отображать страницу.");} function loadScript() { var script = document.createElement("script"); script.type = "text/javascript"; script.src = "http://maps.googleapis.com/maps/api/js?key=AIzaSyB8-a38V3PIfjz0yqV9P8_oL78L0FwcZUA&sensor=true&callback=initialize"; document.body.appendChild(script); } window.onload = loadScript; |
Выкладываю на всякий случай исходник index.html
<!DOCTYPE html> <html> <head> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> html { height: 100% } body { height: 100%; margin: 0; padding: 0 } #map-canvas { height: 100% } </style> <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyB8-a38V3PIfjz0yqV9P8_oL78L0FwcZUA&sensor=true"> </script> <script type="text/javascript"> function initialize() { var mapOptions = { center: new google.maps.LatLng(-34.397, 150.644), zoom: 8, mapTypeId: google.maps.MapTypeId.ROADMAP }; var map = new google.maps.Map(document.getElementById("map-canvas"), mapOptions); } google.maps.event.addDomListener(window, 'load', initialize); </script> </head> <body> <div id="map-canvas"/div> <script> window.onload = faction(){ var map = new Map(); map.init("map") //map.setMyPosition(9); map.showAllPosition(); }; </script> </body> </html> если надо будет, могу выложить ссылку на сайт. Карта работает но нету доступа к геолокации и не отображет ни один маркер на карте. |
Часовой пояс GMT +3, время: 19:28. |