MrG*_*rki 1 json bounds google-maps-api-3
无论如何将边界和/或中心位置转换为字符串并通过json将其发送到服务器端并存储它?
我问,因为当我尝试将这些东西转换为字符串时; 我从api得到转换错误?
使用serialize函数,检索地图边界和中心数据,然后将其存储在数据库中.
function serialize(map){
var json = '{"bounds":'+map.getBounds().toString() +
',"center":'+map.getCenter().toString()+"}";
//'toString' returns values in '()', we need to replace them by '[]'
json = json.replace(/\(/g,"[").replace(/\)/g,"]");
return json;
}
Run Code Online (Sandbox Code Playgroud)
使用deserialize函数,通过存储的数据更新地图的状态:
function deserialize(map, json, useCenter ){
json = JSON.parse(json);
if( useCenter ){
map.setCenter( new google.maps.LatLng(json.center[0],json.center[1]) );
}else{
map.fitBounds( new google.maps.LatLngBounds(
new google.maps.LatLng(json.bounds[0][0],json.bounds[0][1]),
new google.maps.LatLng(json.bounds[1][0],json.bounds[1][1])
) );
}
}
Run Code Online (Sandbox Code Playgroud)
重要提示: map.fitBounds不适合其参数的精确范围.看到这个链接.
| 归档时间: |
|
| 查看次数: |
1383 次 |
| 最近记录: |