我在网站上用于谷歌地图的脚本是
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js"></script>
我从隐藏的输入中获取中心
var pos = $('#lat_lng').val();
在我的控制台中,它pos
打印为23.810332,90.41251809999994
问题是如果我使用 var myCenter=new google.maps.LatLng(pos);
谷歌地图不起作用,但如果我使用
var myCenter=new google.maps.LatLng(23.810332,90.41251809999994);
它工作正常。主要问题在哪里?谢谢
主要问题是这new google.maps.LatLng
从双精度类型中获取 2 个参数,因此当您传递 Pos
时,您从类型 string
传递一个参数 但是当传递23.810332,90.41251809999994
时,您从类型 double
传递两个参数
您需要为 LatLng 使用正确的构造函数,请查看文档。
map.setCenter(new google.maps.LatLng(-34, 151));
拆分 pos 变量,然后在构造函数中使用每个 Lat 和 Long,如下所示。
var pos_array = pos.split(",");
var myCenter=new google.maps.LatLng(pos_array[0], pos_array[1]);