为locationpicker.jquery.js设置当前用户位置
Setting Current User Location for locationpicker.jquery.js
我正在使用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
是一个异步进程。这意味着您需要在该过程完成后加载映射。
$( 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);
}
});
传入lat
和lng
参数并将它们转换为浮点数(+lat
…),否则使用默认值。
function buildMap(lat, lng) {
$('.map').locationpicker({
location: {
latitude: +lat || 10.621760,
longitude: +lng || 121.107015
},
radius: 10,
...
}
现在,getCurrentPosition()
和watchPosition()
不再在不安全的起源上工作。要使用此功能,您应该考虑将应用程序切换到安全来源,例如HTTPS。
相关文章:
- 获取用户位置并将坐标保存在数据库中
- Phonegap通过WiFi和移动网络而非GPS获取用户位置
- 谷歌地图:使用自定义标记显示当前用户位置
- 如何在地图上显示用户位置以及我的标记
- 如何使用“地图”在谷歌地图上显示用户位置;onclick”;作用
- 将 JavaScript 与 GWT 结合使用来获取用户位置,但变量不会被传递
- 在表单中提交用户位置
- 如何在脸书 API 中获取用户位置和用户家乡
- 如何使用jQuery或JavaScript从用户位置返回3个最近的位置
- 现在允许 GPS 时获取用户位置
- 如何使用谷歌地图跟踪用户位置和路线
- 如何使用 IP 地址 + 地理位置获取用户位置 Asp.Net.
- 使用Facebook Javascript SDK访问用户位置数据
- 转换特定日期&基于用户位置的时间到utc日期&时间
- 返回离用户位置(地理位置)最近的3个位置,并列出这些位置
- 地理定位api没有给出准确的用户位置
- JS-Can'找不到用户位置
- 为locationpicker.jquery.js设置当前用户位置
- 获取用户位置时,应用程序是科多瓦android应用程序的背景
- Jquery谷歌地图用户位置