gpt4 book ai didi

javascript - jQuery GeoComplete - 拖动标记时获取位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:35:38 26 4
gpt4 key购买 nike

使用 http://ubilabs.github.com/geocomplete/examples/draggable.html举个例子。

jQuery("#geocomplete").bind("geocode:dragged", function(event, latLng){
jQuery("input[name=lat]").val(latLng.lat());
jQuery("input[name=lng]").val(latLng.lng());
});

拖动标记后,我能够以经纬度的形式获取标记位置。但是我无法在拖动后获得标记的当前位置。

我想在拖动后在标记的当前位置更新我的位置文本框。

最佳答案

我设法找到了更好的解决方法!

Nadeeshani 发布的关于您的工作不是很精确,它将 map 以最近的地址为中心。

我设法通过使用谷歌地理编码解决了这个问题,测试以下代码。

var options = {
map: "#mapnew",
country: 'uk',
mapOptions: {
streetViewControl: false,
mapTypeId : google.maps.MapTypeId.HYBRID
},
markerOptions: {
draggable: true
}
};

$("#address").geocomplete(options).bind("geocode:result", function(event, result){
$('#logs').html(result.formatted_address);
var map = $("#address").geocomplete("map");
map.setZoom(18);
map.setCenter(result.geometry.location);
});

$("#address").bind("geocode:dragged", function(event, latLng){
console.log('Dragged Lat: '+latLng.lat());
console.log('Dragged Lng: '+latLng.lng());
var map = $("#address").geocomplete("map");
map.panTo(latLng);
var geocoder = new google.maps.Geocoder();

geocoder.geocode({'latLng': latLng }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
if (results[0]) {
var road = results[0].address_components[1].long_name;
var town = results[0].address_components[2].long_name;
var county = results[0].address_components[3].long_name;
var country = results[0].address_components[4].long_name;
$('#logs').html(road+' '+town+' '+county+' '+country);
}
}
});
});

查看我的 JSFiddle Example

关于javascript - jQuery GeoComplete - 拖动标记时获取位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13835711/

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