当前位置:  开发笔记 > 编程语言 > 正文

设置locationpicker.jquery.js的当前用户位置

如何解决《设置locationpicker.jquery.js的当前用户位置》经验,为你挑选了1个好方法。

我正在使用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选择器放入纬度和经度的变量中.我试过设置一个隐藏的输入字段并将它们传递给纬度和经度; 但他们只是失败了.我可以做些什么来使locationpicker加载到用户的位置?纬度和经度似乎不接受除数字之外的任何其他类型的变量.



1> Andy..:

我认为你遇到的问题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);
  }
});

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

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

推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有