gpt4 book ai didi

javascript - 为 locationpicker.jquery.js 设置当前用户位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:02:16 25 4
gpt4 key购买 nike

我正在使用 locationpicker.jquery.js我试图在加载之前提供经度和纬度变量,以便用户可以从他或她的特定位置加载。

  $('.map').locationpicker({
location: {
latitude: 10.621760,
longitude: 121.107015
},
radius: 10,
inputBinding: {
latitudeInput: $('.map-lat'),
longitudeInput: $('.map-lon'),
radiusInput: $('.map-radius'),
locationNameInput: $('.map-address'),
scrollwheel: true
},
enableReverseGeocode: true
});

$( document ).ready(function() {
navigator.geolocation.getCurrentPosition(showPosition);
function showPosition(position) {
$('.map-lat').val(position.coords.latitude);
$('.map-lon').val(position.coords.longitude);
}
});

我试过将 jquery 选择器放入经纬度变量中。我试过设置一个隐藏的输入字段并将它们传递给纬度和经度;但他们只是失败了。我可以做些什么来在用户位置加载位置选择器吗?纬度和经度似乎不接受数字以外的任何其他类型的变量。

最佳答案

我认为您遇到的问题是 getCurrentLocation 是一个异步进程。这意味着您需要在该过程完成后加载 map 。

$( document ).ready(function() {
navigator.geolocation.getCurrentPosition(showPosition);
function showPosition(position) {
var lat = position.coords.latitude;
var lng = position.coords.longitude;
$('.map-lat').val(lat);
$('.map-lon').val(lng);
buildMap(lat, lng);
}
});

传入latlng参数并将它们转换为 float (+lat...),否则使用默认值。

function buildMap(lat, lng) {
$('.map').locationpicker({
location: {
latitude: +lat || 10.621760,
longitude: +lng || 121.107015
},
radius: 10,
...
}

关于javascript - 为 locationpicker.jquery.js 设置当前用户位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34329840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com