我正在尝试在Google Map上添加一些标记,但是在执行此操作之前,我需要取消设置JSON Array的某些元素,就像这样
$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
});
}
}
我的最终代码有效,
$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);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句