jQuery位置选择器API位置名称字段不起作用

时间:2016-07-04 13:00:43

标签: javascript jquery google-maps jquery-plugins

我正在使用jquery位置选择器API进行地图视图。该API中的所有内容都能正常工作,除非我们为位置名称提供输入时它不起作用。并且自动填充选项不起作用,地图也不显示位置。

Location: <input type="text" id="location" style="width: 200px"/>
Lat <input type="text" id="lat" style="width: 200px"/>
Long: <input type="text" id="lng" style="width: 200px"/>
<div id="us2" style="width: 500px; height: 400px;"></div>   

<script>$('#us2').locationpicker({
location: {latitude: 46.15242437752303, longitude: 2.7470703125},   
radius: 0,
inputBinding: {
    latitudeInput: $('#lat'),
    longitudeInput: $('#lng'),
    locationNameInput: $('#location')
},
 enableAutocomplete: true,
 onchanged: function(currentLocation, radius, isMarkerDropped) {
  alert("");
 }
 });
  </script> 

2 个答案:

答案 0 :(得分:3)

我遇到了同样的问题。事实证明,您需要启用&#34; Google Places API Web服务&#34;如果您使用带有API密钥的Google Maps API,请在Google开发者控制台中使用。在我这样做之后,自动完成工作。

答案 1 :(得分:1)

很可能是因为一旦初始化了位置选择器,DOM就还没有加载。

尝试调用位置选择器初始化,如下所示:

$(function() {


  $('#us2').locationpicker({
   location: {latitude: 46.15242437752303, longitude: 2.7470703125},   
   radius: 0,
   inputBinding: {
      latitudeInput: $('#lat'),
      longitudeInput: $('#lng'),
      locationNameInput: $('#location')
   },
   enableAutocomplete: true,
   onchanged: function(currentLocation, radius, isMarkerDropped) {
      alert("Location changed. New location (" + currentLocation.latitude + ", " + currentLocation.longitude + ")");
    }
  });


});

<强> Demo (Plunker)