Использую Android WebView и геолокацию. В браузере код отрабатывает без проблем. В Андроид же - показывает попытку геолоцирования и пустоту.
Прикладываю весь JS. В чем может заключаться разница в поведении?
ymaps.ready(firstLoad);
function createMap (state, geo) {
console.log('start create');
var cMap = new ymaps.Map('map', state);
cMap.events.add('click', function (e) {
var coords = e.get('coords');
ymaps.geocode(coords).then(function (res) {
var firstGeoObject = res.geoObjects.get(0);
console.log(firstGeoObjec
t.properties.get('name')) ; });
});
console.log(cMap);
if (geo != null) {
geo.geoObjects.options.set('preset', 'islands#blueCircleIcon');
cMap.geoObjects.add(geo.geoObjects);
}
cMap.setZoom(17);
console.log('return create');
return cMap;
}
function firstLoad() {
var map;
ymaps.geolocation.get().then(function (res) {
var mapContainer = $('#map'),
bounds = res.geoObjects.get(0).pro
perties.get('boundedBy'), // Рассчитываем видимую область для текущей положения пользователя.
mapState = ymaps.util.bounds.getCenterAndZoom(
bounds,
[mapContainer.width(), mapContainer.height()]
);
console.log('ok');
map = createMap(mapState, res);
}, function (e) {
// Если место положение невозможно получить, то просто создаем карту.
console.log('Not ok');
map = createMap({
center: [55.751574, 37.573856],
zoom: 2
}, null);
});
}