Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 谷歌地图上没有显示标记_Javascript_Html_Xml_Google Maps - Fatal编程技术网

Javascript 谷歌地图上没有显示标记

Javascript 谷歌地图上没有显示标记,javascript,html,xml,google-maps,Javascript,Html,Xml,Google Maps,我是谷歌地图的新手,标记不会出现,你能看到哪里出了问题吗 <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> <title>Google Maps Multiple Markers</title> <script src="http://ma

我是谷歌地图的新手,标记不会出现,你能看到哪里出了问题吗

<!DOCTYPE html>
<html> 
<head> 
    <meta http-equiv="content-type" content="text/html; charset=UTF-8" /> 
    <title>Google Maps Multiple Markers</title> 
    <script src="http://maps.google.com/maps/api/js?sensor=false" 
    type="text/javascript"></script>
</head> 
<body>
    <div id="map" style="width: 500px; height: 400px;"></div>

    <script type="text/javascript">
        var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 10,
            center: new google.maps.LatLng(-33.92, 151.25),
            mapTypeId: google.maps.MapTypeId.ROADMAP
        });

        var xmlDoc;
        if (window.XMLHttpRequest)
        {
            xmlDoc=new window.XMLHttpRequest();
            xmlDoc.open("GET","locations.php",false);
            xmlDoc.send("");
            xmlDoc=xmlDoc.responseXML;
        }
        // IE 5 and IE 6
        else if (ActiveXObject("Microsoft.XMLDOM"))
        {
            xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
            xmlDoc.async=false;
            xmlDoc.load("locations.php");
        }

        var pins = xmlDoc.getElementsByTagName("pin");

        for (i=0;i<pins.length;i++)
        {
            var point = new GLatLng( pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue, 
            pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue);
            var colord;
            var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;
            if(curgender == "Male")
            {colord = blueOpt;}else if(curgender=="Female"){colord = pinkOpt;}else{colord = purpleOpt;}

            var marker = new GMarker(point, colord);
            var mess =  pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;

            createMarker(marker,mess);

            map.addOverlay(marker);

        }

        function createMarker(marker, mess) {
            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml(mess);
            });
        }


    </script>
</body>
</html>

谷歌地图多个标记
var map=new google.maps.map(document.getElementById('map'){
缩放:10,
中心:新谷歌地图LatLng(-33.92151.25),
mapTypeId:google.maps.mapTypeId.ROADMAP
});
var-xmlDoc;
if(window.XMLHttpRequest)
{
xmlDoc=newwindow.XMLHttpRequest();
open(“GET”,“locations.php”,false);
xmlDoc.send(“”);
xmlDoc=xmlDoc.responseXML;
}
//IE 5和IE 6
else if(ActiveXObject(“Microsoft.XMLDOM”))
{
xmlDoc=新的ActiveXObject(“Microsoft.XMLDOM”);
xmlDoc.async=false;
load(“locations.php”);
}
var pins=xmlDoc.getElementsByTagName(“pin”);

对于(i=0;i您混合使用了v2和v3代码。映射是使用版本3创建的,标记使用v2代码

我假设您希望使用v3,因为v2已折旧

试试这个:

 var infoWindow = new google.maps.InfoWindow({});    

 for (i=0;i<pins.length;i++)
        {
            var point = new google.maps.LatLng( 
                pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue, 
                pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue
            );

            var colord;
            var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;

            if(curgender == "Male"){
                colord = blueOpt; //I assume these are different marker icons?
            }else if(curgender=="Female"){
                colord = pinkOpt;
            }else{
                colord = purpleOpt;
            }

            var marker = new google.maps.Marker({
                position: point
                icon: colord 
                });

            var mess =  pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;

            createMarker(marker,mess);          
            marker.setMap(map);

        }

        function createMarker(marker, mess) {
            google.maps.event.addListener(marker, "click", function (event) {
                infoWindow.setContent(mess);
                infoWindow.open(map, this);               
            }); 
        }
var infoWindow=new google.maps.infoWindow({});
对于(i=0;i
 var infoWindow = new google.maps.InfoWindow({});    

 for (i=0;i<pins.length;i++)
        {
            var point = new google.maps.LatLng( 
                pins[i].getElementsByTagName("lat")[0].childNodes[0].nodeValue, 
                pins[i].getElementsByTagName("lon")[0].childNodes[0].nodeValue
            );

            var colord;
            var curgender = pins[i].getElementsByTagName("gender")[0].childNodes[0].nodeValue;

            if(curgender == "Male"){
                colord = blueOpt; //I assume these are different marker icons?
            }else if(curgender=="Female"){
                colord = pinkOpt;
            }else{
                colord = purpleOpt;
            }

            var marker = new google.maps.Marker({
                position: point
                icon: colord 
                });

            var mess =  pins[i].getElementsByTagName("message")[0].childNodes[0].nodeValue;

            createMarker(marker,mess);          
            marker.setMap(map);

        }

        function createMarker(marker, mess) {
            google.maps.event.addListener(marker, "click", function (event) {
                infoWindow.setContent(mess);
                infoWindow.open(map, this);               
            }); 
        }