Рейтинг:
10
Nirav Prabtani
1) Создайте одну функцию javascript, которая будет возвращать текущую позицию по широте и долготе.
2) Эта функция вызывается по нажатию кнопки
3) после получения позиции вы можете вызвать функцию getGeoLocation
с положением
var map, infoWindow;
infoWindow = new google.maps.InfoWindow;
// Try HTML5 geolocation.
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var Lat = position.coords.latitude,
var Long = position.coords.longitude
getGeoLocation(Lat,Long)
}, function() {
//error
});
} else {
// Browser doesn't support Geolocation
}
}
function getGeoLocation(_lat,_long){
var map;
var latitude = _lat;
var longitude = _long;
// do your remaining code
Janardhanam Julapalli
Я пробовал нечто подобное тому, о чем вы упомянули выше. Теперь я воспользовался кодом, который вы мне дали.
функция getCurrentLatLang(){
var map, infoWindow;
infoWindow = новый google.maps.InfoWindow;
// Попробуйте геолокацию HTML5.
если (навигатор.геолокация) {
navigator.geolocation.getCurrentPosition(функция(позиция) {
ВАР широта = позиция.координаты.широта;
ВАР долго = позиция.координаты.долготы;
getGeoLocation(лат,длинный)
}, функция() {
console.log('error');//эта строка выполняется
});
} еще {
// Браузер не поддерживает геолокацию
}
}
функция getGeoLocation(широта,долгота){
var карта;
// широта var = 13.0547712;
// var долгота = 80.2578432;
var myLatlng = новый google.maps.LatLng(широта,долгота);
var myOptions = {
масштаб: 17,
центр: myLatlng,
mapTypeId: google.maps.MapTypeId.СПУТНИК
};
карта = новый Google.карты.Карта(документ.метода getElementById('map_div'),
myOptions);
// отметки начинается
var marker = новый google.maps.Маркер({
должность: myLatlng,
название:"Нажмите, чтобы просмотреть информацию!"
});
marker.setMap(карта);
// маркер заканчивается
google.maps.event.addListener(карта, "клик", функция (e) {
//lat и lng доступны в объекте e
расчет var latlng С = Е.latlng с;
ВАР широта = е.latlng с.широта();
var lang = e.latLng.lng();
$('#latitude').val(лат);
$('#долгота').val(lang);
});
// гугле.карты.событие.addDomListener(окно, "загрузить", и инициализации);
}
Janardhanam Julapalli
если (навигатор.геолокация) {
console.log('in');//это печать
navigator.geolocation.getCurrentPosition(функция(позиция) {
console.log('in in');//это не печать
Это и есть настоящая проблема. Ранее я читал, что getCurrentPosition() не будет работать с http. Теперь у меня есть https, но он все еще не работает.
Nirav Prabtani
Убедитесь, что вы разрешили текущее местоположение для браузера, Похоже, вы отрицали то же самое.
Если нет, то не могли бы вы увидеть консоль, осмотрев элемент ?
Janardhanam Julapalli
Он работает в хроме. Огромное спасибо!.
Janardhanam Julapalli
Я дал разрешение. Также ничего в консоли, кроме сообщений журнала, которые я дал. Проблема, связанная с браузером? Теперь я использую safari.
Nirav Prabtani
Вам нужно проверить, как включить разрешение location в safari
Janardhanam Julapalli
конечно. Я так и сделаю.
Nirav Prabtani
https://apple.stackexchange.com/questions/247300/how-do-i-enable-location-services-for-a-specific-website-on-safari-for-os-x