Php 删除地图中的标记
我不明白为什么使用.setMat(null)无法删除地图中的标记 代码如下:Php 删除地图中的标记,php,javascript,google-maps,marker,Php,Javascript,Google Maps,Marker,我不明白为什么使用.setMat(null)无法删除地图中的标记 代码如下: <!DOCTYPE html> <HTML> <HEAD> <script type="text/javascript"> var geocoder; var map; var lat_; var lng_; var contentSt
<!DOCTYPE html>
<HTML> <HEAD>
<script type="text/javascript">
var geocoder;
var map;
var lat_;
var lng_;
var contentString="";
var infowindow = null;
var markerNodes = null;
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(41.92, 12.93);
var mapOptions = {
zoom: 6,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
function searchLocations() {
var ind_r_g = document.getElementById("indirizzoR").value;
var civ_r_g = document.getElementById("civicoR").value;
var citta_r_g = document.getElementById("cittaR").value;
var paese_r_g = document.getElementById("paeseR").value;
if(civ_r_g != 0 || civ_r_g != ""){
var address = ind_r_g + civ_r_g + ", " + citta_r_g + ", " + paese_r_g;
}
else{
var address = ind_r_g + ", " + citta_r_g + ", " + paese_r_g;
}
var geocoder = new google.maps.Geocoder();
geocoder.geocode({address: address}, function(results, status) {
if (status == google.maps.GeocoderStatus.OK) {
searchLocationsNear(results[0].geometry.location);
} else {
alert(address + ' not found');
}
});
}
function clearLocations() {
if(markerNodes!=null){
alert(markerNodes.length);
for (var i = 0; i < markerNodes.length; i++) {
markers[i].setMap(null);
}
}
}
function searchLocationsNear(center) {
alert("beforeclearlocations");
clearLocations();
alert("afterclearlocations");
var radius = document.getElementById('raggioR').value;
var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
infowindow = new google.maps.InfoWindow({content: contentString});
downloadUrl(searchUrl, function(data) {
var xml = data.responseXML;
markerNodes = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markerNodes.length; i++) {
var name = markerNodes[i].getAttribute("name");
var address = markerNodes[i].getAttribute("address");
var point = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
var image = '/img/'+ name +'.png';
contentString = '<div id="content">'+
'<h3 id="firstHeading" class="firstHeading">' + markerNodes[i].getAttribute("name")+ '</h3>'+
'<div id="bodyContent"><u>Indirizzo</u>: ' + markerNodes[i].getAttribute("address_indirizzo") +'<br><u>Citta</u>: '+ markerNodes[i].getAttribute("city")
+ '<br><u>Paese</u>: ' + markerNodes[i].getAttribute("country") + '<br><u>Prezzo Benzina</u>: ' + markerNodes[i].getAttribute("prezzoB") + ' (euro/litro)</div>' +
'<u>Prezzo Diesel</u>: ' + markerNodes[i].getAttribute("prezzoD") +
' (euro/litro)</div>'+
'</div>';
var marker = new google.maps.Marker({
id: i,
map: map,
icon: image,
position: point,
html: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.html);
infowindow.open(map,this);
});
}
});
}
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
function check_form_r(){
var check_i_r = document.getElementById("indirizzoR").value;
var check_civ_r = document.getElementById("civicoR").value;
var check_cit_r = document.getElementById("cittaR").value;
var check_pa_r = document.getElementById("paeseR").value;
var check_ra_r = document.getElementById("raggioR").value;
if( check_i_r == "" || check_cit_r == "" || check_pa_r == "" || check_ra_r== ""){
alert("Tutti i campi con asterisco sono obbligatori");
}
else{
searchLocations();
}
}
</script>
</HEAD>
<BODY onload="initialize();">
<div class="insertbox" style="center">
<h5>CERCA I BENZINAI INTORNO A TE!</h5>
Indirizzo (*): <br/>
<input type="text" name="indirizzoR" id="indirizzoR"/> <br/>
Civico: <br/>
<input type="text" size="4" name="civicoR" id="civicoR"/> <br/>
Città (*): <br/>
<input type="text" name="cittaR" id="cittaR"/> <br/>
Paese (*): <br/>
<input type="text" name="paeseR" id="paeseR"/> <br/>
<label for="raggioR">Raggio di ricerca (*):</label><br/>
<select id="raggioR" name="raggioR">
<option value="" selected="selected">-- seleziona --</option>
<option value="2" id="raggio2">2 km</option>
<option value="5" id="raggio5">5 km</option>
<option value="10" id="raggio10">10 km</option>
</select><br/>
<input type="button" value="cerca" onclick="check_form_r()"/>
<br/>
<br/>
(i campi con asterisco sono obbligatori)
</div>
<div class="mapbox" id="map_canvas" style="width:700px; height:350px" ></div>
</BODY>
var地理编码器;
var映射;
var lat_;
var-lng;
var contentString=“”;
var infowindow=null;
var markerNodes=null;
函数初始化(){
geocoder=新的google.maps.geocoder();
var latlng=新的google.maps.latlng(41.92,12.93);
变量映射选项={
缩放:6,
中心:拉特林,
mapTypeId:google.maps.mapTypeId.ROADMAP
}
map=new google.maps.map(document.getElementById(“map_canvas”),mapOptions);
}
函数searchLocations(){
var ind_r_g=document.getElementById(“indirizzoR”).value;
var civ_r_g=document.getElementById(“civicoR”).value;
var citta_r_g=document.getElementById(“cittaR”).value;
var paese_r_g=document.getElementById(“paeseR”).value;
如果(civ_r_g!=0 | | civ_r_g!=“”){
var地址=ind_r_g+civ_r_g+”,“+citta_r_g+”,“+paese_r_g;
}
否则{
var地址=ind_r_g+”,“+citta_r_g+”,“+paese_r_g;
}
var geocoder=new google.maps.geocoder();
geocoder.geocode({address:address},函数(结果,状态){
if(status==google.maps.GeocoderStatus.OK){
searchLocationsNear(结果[0]。几何体。位置);
}否则{
警报(地址+‘未找到’);
}
});
}
函数clearLocations(){
if(标记节点!=null){
警报(标记节点长度);
对于(变量i=0;iCitta:'+markerNodes[i].getAttribute(“城市”)
+“
Paese:”+markerNodes[i]。getAttribute(“国家”)+”
Prezzo Benzina:“+markerNodes[i]。getAttribute(“prezzoB”)+”(欧元/利特罗)+
“Prezzo Diesel:”+markerNodes[i].getAttribute(“prezzoD”)+
“欧元/利特罗”+
'';
var marker=new google.maps.marker({
id:我,
地图:地图,
图标:图像,
位置:点,,
html:contentString
});
google.maps.event.addListener(标记'click',函数(){
setContent(this.html);
打开(地图,这个);
});
}
});
}
函数下载url(url,回调){
var请求=window.ActiveXObject?
新的ActiveXObject('Microsoft.XMLHTTP'):
新的XMLHttpRequest;
request.onreadystatechange=函数(){
if(request.readyState==4){
request.onreadystatechange=doNothing;
回调(请求、请求、状态);
}
};
打开('GET',url,true);
请求发送(空);
}
函数doNothing(){}
功能检查表{
var check_i_r=document.getElementById(“indirizzoR”).value;
var check_civ_r=document.getElementById(“civicoR”).value;
var check_cit_r=document.getElementById(“cittaR”).value;
var check_pa_r=document.getElementById(“paeseR”).value;
var check_ra_r=document.getElementById(“raggioR”).value;
如果(检查(检查){
警报(“Tutti campi con asterisco sono obbligatori”);
}
否则{
搜索位置();
}
}
塞尔卡,我的本杰明,我的朋友!
英迪里佐(*):
公民:
城市(*):
Paese(*):
for (var i = 0; i < markerNodes.length; i++) {
markers[i].setMap(null);
for (var i = 0; i < markerNodes.length; i++) {
markerNodes[i].setMap(null);
var geocoder;
var map;
var lat_;
var lng_;
var contentString="";
var infowindow = null;
var markerNodes = null;
var markers = [];
function initialize() {
geocoder = new google.maps.Geocoder();
var latlng = new google.maps.LatLng(41.92, 12.93);
var mapOptions = {
zoom: 6,
center: latlng,
mapTypeId: google.maps.MapTypeId.ROADMAP
}
map = new google.maps.Map(document.getElementById("map_canvas"), mapOptions);
}
function clearLocations() {
alert(markers.length);
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
}
function searchLocationsNear(center) {
alert("beforeclearlocations");
clearLocations();
alert("afterclearlocations");
var radius = document.getElementById('raggioR').value;
var searchUrl = 'phpsqlsearch_genxml.php?lat=' + center.lat() + '&lng=' + center.lng() + '&radius=' + radius;
infowindow = new google.maps.InfoWindow({content: contentString});
downloadUrl(searchUrl, function(data) {
var xml = data.responseXML;
markerNodes = xml.documentElement.getElementsByTagName("marker");
for (var i = 0; i < markerNodes.length; i++) {
var name = markerNodes[i].getAttribute("name");
var address = markerNodes[i].getAttribute("address");
var point = new google.maps.LatLng(
parseFloat(markerNodes[i].getAttribute("lat")),
parseFloat(markerNodes[i].getAttribute("lng")));
var image = '/img/'+ name +'.png';
contentString = '<div id="content">'+
'<h3 id="firstHeading" class="firstHeading">' + markerNodes[i].getAttribute("name")+ '</h3>'+
'<div id="bodyContent"><u>Indirizzo</u>: ' + markerNodes[i].getAttribute("address_indirizzo") +'<br><u>Citta</u>: '+ markerNodes[i].getAttribute("city")
+ '<br><u>Paese</u>: ' + markerNodes[i].getAttribute("country") + '<br><u>Prezzo Benzina</u>: ' + markerNodes[i].getAttribute("prezzoB") + ' (euro/litro)</div>' +
'<u>Prezzo Diesel</u>: ' + markerNodes[i].getAttribute("prezzoD") +
' (euro/litro)</div>'+
'</div>';
var marker = new google.maps.Marker({
id: i,
map: map,
icon: image,
position: point,
html: contentString
});
google.maps.event.addListener(marker, 'click', function() {
infowindow.setContent(this.html);
infowindow.open(map,this);
});
// add this marker to our array
markers.push(marker);
}
});
}