Php 使用AJAX使用Google Maps动态绘制圆圈
我正在玩一些地理数据,使用谷歌地图API在地图上生成圆圈。容易的。数据来自MySQL数据库,我正在使用PHP在加载时将其打印到脚本中。JavaScript对象的结构如下所示:Php 使用AJAX使用Google Maps动态绘制圆圈,php,jquery,mysql,ajax,google-maps,Php,Jquery,Mysql,Ajax,Google Maps,我正在玩一些地理数据,使用谷歌地图API在地图上生成圆圈。容易的。数据来自MySQL数据库,我正在使用PHP在加载时将其打印到脚本中。JavaScript对象的结构如下所示: var circles = { 1 : { center : new google.maps.LatLng(55,-1), size: 1000}, 2 : { center : new google.maps.LatLng(56,-2), size: 2000} }; 目标 这些圆不是任意的,它们所代
var circles = {
1 : { center : new google.maps.LatLng(55,-1), size: 1000},
2 : { center : new google.maps.LatLng(56,-2), size: 2000}
};
目标
这些圆不是任意的,它们所代表的位置具有我想过滤的相关特征。假设下拉框允许您选择地图上显示的圆的大小范围。更改后,贴图将基于此选择重新加载圆
我创建了一个生成数据的PHP脚本,并尝试使用AJAX(jQuery)将响应分配给circles变量,如下所示。当我破解它时,我的想法是脚本将根据下拉选择生成不同的数据
var circles = {};
var circles = $.ajax({
url: "data.php",
async: false
}).responseText;
PHP(data.PHP)脚本生成的文本如下:
1:{center:new google.maps.LatLng(55,-1),大小:1000},2:{center:new google.maps.LatLng(56,-2),大小:2000}
然而,这是行不通的。我可能错过了一步或者走错了方向,但是任何指导都是受欢迎的
提前谢谢 多亏了@davidkonrad,我没能让他的答案奏效。问题在于将
新的google.maps.LatLng(55,-1)
对象转换为JSON
我的解决方案是在PHP脚本生成的JSON中拆分纬度和经度变量
JSON结构:
{"1" : { "lat" : 55, "lng" : -1, "size": 10000}}
然后在选项或每个圆中设置中心:
center : new google.maps.LatLng(circle.lat,circle.lng)