Javascript 谷歌地图(通过API集成)-坐标错误
我正在尝试通过API将google maps嵌入到我的页面中,并使用以下代码:Javascript 谷歌地图(通过API集成)-坐标错误,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,我正在尝试通过API将google maps嵌入到我的页面中,并使用以下代码: function initialize() { var address = '50.0911676,14.429257099999973'; var ad = address.split(',');; var myLatLng = {lat: parseInt(ad[0]), lng: parseInt(ad[1])}; var map = new google.maps.Map(doc
function initialize() {
var address = '50.0911676,14.429257099999973';
var ad = address.split(',');;
var myLatLng = {lat: parseInt(ad[0]), lng: parseInt(ad[1])};
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 15,
center: myLatLng
});
var marker = new google.maps.Marker({
position: myLatLng,
map: map
});
}
google.maps.event.addDomListener(window, 'load', initialize);
以下是加载地图的HTML元素:
<div id="map" style="width:500px;height:380px;"></div>
一切似乎都在分岔,但加载的地址放错了位置。地址应该是:Soukenická1196/11,110 00 Praha 1,如果你把坐标50.0911676,14.42925709999973放到谷歌上,你也会得到它,但在加载的地图上它是错误的
有谁能帮我找出哪里不对吗?parseInt中的Int表示整数。你坐标的小数部分丢失了
而不是
var address = '50.0911676,14.429257099999973';
var ad = address.split(',');;
只需使用数字:
var ad = [50.0911676, 14.429257099999973];
根本不需要parseInt或parseFloat。您好,谢谢,事实上,它需要将其设置为parseFloat,因为如果不是,它将失败,并且属性中没有LatLng或LatLngLiteral:lat:不是数字,但您已经打开了我的眼睛!谢谢!编码为数字而非带引号字符串的数字不需要通过parseFloat传递。如果这样做,JavaScript所做的就是首先将数字转换为字符串,然后将其解析为数字,并返回结果。像50.0911676这样的数值常量不需要解析;JavaScript解析器在解释常量时会对其进行解析。但是我正在从php的字符串字段中加载该数字,没有它它就无法工作;如果确实从字符串开始,则使用parseFloat转换: