【发布时间】:2018-06-07 06:51:30
【问题描述】:
我正在使用 Google Maps API,它通过隐藏的文本框获取 lat long。今天它表现得很奇怪,它在地图上显示错误的位置,但是如果我手动为 lat 和 long 变量编写 lat long,它会很好。
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;
工作良好:
var long = 51.46769173739062;
var lat = 35.68969456776873;
谷歌代码:
map = new google.maps.Map(document.getElementById('map'), {
center: {
lat: +lat,
lng: +long
},
zoom: 15,
streetViewControl: false,
styles : styles,
fullscreenControl: true
});
我不知道为什么会这样,控制台没有错误,我用两个不同的浏览器检查过,它不是缓存。如您所见,当我手动编写 lat 和 long 时它可以工作,它是一种数字/十进制,对吗?假设它从输入中获取值作为字符串,但我在变量之前写了一个加号+,我重复一遍,谷歌没有关于not a number 的错误。有什么想法吗?
它显示在俄罗斯某处(我认为)但它是错误的,它应该显示在伊朗某处,您可以在this 网站上查看 lat long。
【问题讨论】:
标签: javascript jquery google-maps-api-3