Я не могу получить местоположение, я добавил разрешение Android для доступа к местоположению с помощью Cordova-plugin-geolocation, но оно все равно не работает.
это мой код:
function addYourLocationButton () {
var controlDiv = document.createElement('div');
var firstChild = document.createElement('button');
firstChild.style.backgroundColor = '#fff';
firstChild.style.border = 'none';
firstChild.style.outline = 'none';
firstChild.style.width = '28px';
firstChild.style.height = '28px';
firstChild.style.borderRadius = '2px';
firstChild.style.boxShadow = '0 1px 4px rgba(0,0,0,0.3)';
firstChild.style.cursor = 'pointer';
firstChild.style.marginRight = '10px';
firstChild.style.padding = '0';
firstChild.title = 'Your Location';
controlDiv.appendChild(firstChild);
var secondChild = document.createElement('div');
secondChild.style.margin = '5px';
secondChild.style.width = '18px';
secondChild.style.height = '18px';
secondChild.style.backgroundImage = 'url(img/mylocation-sprite-2x.png)';
secondChild.style.backgroundSize = '180px 18px';
secondChild.style.backgroundPosition = '0 0';
secondChild.style.backgroundRepeat = 'no-repeat';
firstChild.appendChild(secondChild);
google.maps.event.addListener(map, 'center_changed', function () {
secondChild.style['background-position'] = '0 0';
});
firstChild.addEventListener('click', function () {
var imgX = 0,
animationInterval = setInterval(function () {
imgX = -imgX - 18 ;
secondChild.style['background-position'] = imgX+'px 0';
}, 500);
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(
browserGeolocationSuccess,
browserGeolocationFail ,{enableHighAccuracy: true});
}else{
clearInterval(animationInterval);
secondChild.style['background-position'] = '0 0';
}
function browserGeolocationSuccess(position){
var latlng = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);
lat = position.coords.latitude;
lon = position.coords.longitude;
map.setCenter(latlng);
clearInterval(animationInterval);
secondChild.style['background-position'] = '-144px 0';
callback_currentlocation();
}
function browserGeolocationFail(error){
var error_message;
switch(error.code) {
case error.PERMISSION_DENIED:
error_message = "Sistem kami tidak di izinkan untuk mengakses lokasi anda";
break;
case error.POSITION_UNAVAILABLE:
error_message = "Maaf, Lokasi anda tidak ditemukan";
break;
case error.TIMEOUT:
error_message = "Maaf, Request Time Out";
break;
case error.UNKNOWN_ERROR:
error_message = "Maaf, Terjadi kesalahan"
break;
}
clearInterval(animationInterval);
secondChild.style['background-position'] = '0 0';
alert(error_message);
}
});
controlDiv.index = 1;
map.controls[google.maps.ControlPosition.RIGHT_BOTTOM].push(controlDiv);
}
перед добавлением разрешения для местоположения код останавливается в случае отказа в разрешении, после добавления разрешения для местоположения нет ответа и отображается только анимация значка местоположения.
Кто-нибудь может помочь?