gpt4 book ai didi

javascript - 谷歌地图从 ajax 成功返回的数据中使用 lat/lng 移动标记

转载 作者:行者123 更新时间:2023-11-29 22:12:00 26 4
gpt4 key购买 nike

尝试使用来自 sql 数据库的纬度/经度坐标按间隔移动标记/ map 。

function initialize() {
var myLatLng = new google.maps.LatLng(41,14);

var myOptions = {
zoom: 16,
center: myLatLng,
scrollwheel: false,
panControl: true,
zoomControl: true,
mapTypeControl: true,
scaleControl: true,
streetViewControl: true,
overviewMapControl: true,
mapTypeId: google.maps.MapTypeId.SATELLITE,
}

map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);

marker = new google.maps.Marker({
position: myLatLng,
map: map,
draggable: false
});

}
google.maps.event.addDomListener(window, 'load', initialize);

function getCoords() {

$.ajax({
url: "../ajaxscript.php",
type: "POST",
data: {
foo : "bar"
},
dataType: "text",
success: function(returnedData) {
alert(returnedData);
moveMarkerMap(returnedData);
}
});

}

function moveMarkerMap(newCoords) {
var newLatLang = new google.maps.LatLng(newCoords);
map.panTo(newLatLang);
marker.setPosition(newLatLang);

}
window.setInterval(getCoords, 5000);

在 moveMarkerMap() 中设置新的 google.maps.LatLng(14,41) 将移动它,返回的数据显示在 alert() 中,但与 moveMarkerMap() 一起使用时标记不会移动

ajax返回的字符串格式正确; (9.624672,7.242244) 如 alert() 所示所以不确定为什么它不起作用。

最佳答案

google.maps.LatLng 构造函数采用两个数字作为参数。这行不通:

var newLatLang = new google.maps.LatLng(newCoords);

您需要将 newCoords 转换为两个数字。

Convert String to latlng google maps

Convert “[52.43242, 4.43242]” to google LatLng

How do I get a pin on Google Maps using location from a variable?

关于javascript - 谷歌地图从 ajax 成功返回的数据中使用 lat/lng 移动标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17654989/

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