Javascript 无法通过从变量获取纬度和经度来重新初始化google地图
我的网页中有以下HTML:Javascript 无法通过从变量获取纬度和经度来重新初始化google地图,javascript,google-maps,Javascript,Google Maps,我的网页中有以下HTML: <p id="info-1"> My Title</p> <button type="button" id="showMap-1" class="btn btn-primary btn-xs">Show On Map</button> <input type="hidden" id="lat-1" value="32.3396528"> <input type="hidden" id="lon-1" v
<p id="info-1"> My Title</p>
<button type="button" id="showMap-1" class="btn btn-primary btn-xs">Show On Map</button>
<input type="hidden" id="lat-1" value="32.3396528">
<input type="hidden" id="lon-1" value="-111.0118179">
我正在尝试根据所选位置重新初始化谷歌地图。但我得到了以下错误:
InvalidValueError:setCenter:不是LatLng或LatLngLiteral:在中
属性lat:不是一个数字
但是如果我直接设置值,同样的脚本也可以工作
var latVal = -25.344;
var lonVal = 131.036;
var titleVal = "test";
var newCenter = {lat: latVal, lng: lonVal};
var map = new google.maps.Map(
document.getElementById('map'), {zoom: 4, center: newCenter});
var marker = new google.maps.Marker({position: newCenter, map: map, title: titleVal});
我必须动态设置这些值,并根据所选位置重新初始化地图 正如错误所说,
latVal
和lonVal
不是数字。它们是细绳
您可以将字符串转换为数字,方法是将+
放在字符串前面。比如:
var latVal = +$("#lat-"+count).val();
var lonVal = +$("#lon-"+count).val();
。。或者您也可以使用parseFloat()
如:
var latVal = parseFloat( $("#lat-"+count).val() );
var lonVal = parseFloat( $("#lon-"+count).val() );
var latVal = parseFloat( $("#lat-"+count).val() );
var lonVal = parseFloat( $("#lon-"+count).val() );