我正在尝试在谷歌地图上添加一些标记,但在此之前,我需要取消设置JSON数组的一些元素,我正在这样做
$json = str_replace('"', '"', $loc);
foreach ($json as $key => $value)
{
if(preg_match('/^[X]{2}/',$value['pname'])){
unset($json[$key]);
}
}
echo json_encode($json);
在取消设置之前,这是它在JS console.log()中的显示方式,绘制标记
[Object, Object, Object, Object,...]
但是在取消设置之后它会显示如下并且不会绘制标记
Object {2: Object, 20: Object, 40: Object,...}
请允许任何人让我朝着正确的方向前进。
这是在Google地图上生成标记的代码。
makeRequest('get_locations.php', function(data) {
var data = JSON.parse(data.responseText);
for (var i = 0; i < data.length; i++) {
displayResellersPostCode(data[i]);
}
});
function displayResellersPostCode(location) {
if (parseInt(location.lat) == 0) {
geocoder.geocode( { 'pcode1': location.pcode1 }, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
var marker = new google.maps.Marker({
map: map,
position: results[0].geometry.location,
title: location.uname
});
}
});
} else {
var position = new google.maps.LatLng(parseFloat(location.latitude), parseFloat(location.longitude));
var marker = new google.maps.Marker({
map: map,
position: position,
title: location.uname
});
}
}
答案 0 :(得分:0)
我的最终代码有效,
$json = str_replace('"', '"', $loc);
foreach ($json as $key => $value)
{
if(preg_match('/^[X]{2}/',$value['pname'])){
unset($json[$key]);
}
}
$json = array_values($json);
echo json_encode( $json);