gpt4 book ai didi

javascript - 谷歌地图在输入时显示错误的位置

转载 作者:行者123 更新时间:2023-12-03 01:43:42 24 4
gpt4 key购买 nike

我正在使用 Google Maps API,它通过隐藏文本框获取经纬度。今天它表现得很奇怪,它在 map 上显示错误的位置,但如果我手动为纬度和经度变量写入经度,它会很好用。

HTML:

<input type="hidden" name="ads-lat" id="ads-lat" value="35.68969456776873">
<input type="hidden" name="ads-long" id="ads-long" value="51.46769173739062">

不工作:

var long = document.getElementById("ads-long").value;
var lat = document.getElementById("ads-lat").value;

Not working

工作良好:

var long = 51.46769173739062;
var lat = 35.68969456776873;

Working

谷歌代码:

map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: +lat,
lng: +long
},
zoom: 15,
streetViewControl: false,
styles : styles,
fullscreenControl: true
});

我不知道为什么它会这样,控制台中没有错误,我也用两个不同的浏览器检查过,它不是缓存。如您所见,当我手动写入纬度和经度时它就可以工作,它是一种数字/小数,对吗?假设它从输入中获取字符串值,但我在变量之前写了一个加号 + ,我重复一遍,谷歌没有关于 not a number 的错误。有什么想法吗?

JSFiddle

它显示在俄罗斯的某个地方(我认为),但这是错误的,它应该显示在伊朗的某个地方,你可以在 this 网站上查看经纬度。

最佳答案

这个怎么样?

http://jsfiddle.net/f09bteov/19/

我做了两件事:1) 将 parseInt 更改为 parseFloat (您得到的纬度/经度为 35,51 ... 每度约 170 公里面积,所以有点偏离),2)纠正他们的顺序,并且3) 删除了 lat: +lat, lng: +long 声明中的 +。不知道他们为什么在那里。

关于javascript - 谷歌地图在输入时显示错误的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50734665/

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