Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/377.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 谷歌地图V3信息窗口从json不显示_Javascript_Ajax_Json_Google Maps_Google Maps Markers - Fatal编程技术网

Javascript 谷歌地图V3信息窗口从json不显示

Javascript 谷歌地图V3信息窗口从json不显示,javascript,ajax,json,google-maps,google-maps-markers,Javascript,Ajax,Json,Google Maps,Google Maps Markers,我正在使用php从MySQL数据创建一个json文件。 我想做的是当我点击标记时,在谷歌地图的信息窗口中显示一些数据 目前我可以显示所有标记,但收到错误: 未捕获引用错误:未定义InfoWnd 我假设我在设置信息窗口的方式上犯了一些错误,但我已经尝试了几种方法,并且总是收到相同的错误消息 这是到目前为止我的javascript: **要初始化地图画布,请执行以下操作: <script type="text/javascript"> var map; f

我正在使用php从MySQL数据创建一个json文件。 我想做的是当我点击标记时,在谷歌地图的信息窗口中显示一些数据

目前我可以显示所有标记,但收到错误:

未捕获引用错误:未定义InfoWnd

我假设我在设置信息窗口的方式上犯了一些错误,但我已经尝试了几种方法,并且总是收到相同的错误消息

这是到目前为止我的javascript:

**要初始化地图画布,请执行以下操作:

<script type="text/javascript">
            var map;
    function initialize() {
                    var mapOptions = {
                      center: new google.maps.LatLng(48.476, -81.312),
                      zoom: 18,
                      mapTypeId: google.maps.MapTypeId.SATELLITE
                    };
                    map = new google.maps.Map(document.getElementById("map_canvas"),
                            mapOptions);
    }
    </script>
<body onload="initialize()">
    <div id="map_canvas" style="width=80%; height: 100%"></div>

var映射;
函数初始化(){
变量映射选项={
中心:新google.maps.LatLng(48.476,-81.312),
缩放:18,
mapTypeId:google.maps.mapTypeId.SATELLITE
};
map=new google.maps.map(document.getElementById(“map_canvas”),
地图选项);
}
**要创建标记/信息窗口,请执行以下操作:

<script type="text/javascript">
    var blueIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
    var redIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
    var greenIcon = "http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png";
    infoWnd = new google.maps.InfoWindow();

    $(document).ready(function() {
        $.ajax({
            url: 'http://localhost/testing/map_json.php',
            dataType: 'json',
            success: function (jsonData) {
                $.each(jsonData, function(key, data) {
                     var latLng = new google.maps.LatLng(data.lat, data.lng);
                     // creating marker, putting it on map

                     // If no sensor reading data is present, RTU is assumed to be repeater node.
                     // Displayed in blue and Info Window only displays system voltage and time of reading.
                     if ( data.R_1 === undefined ) {
                          if ( data.SysV >= 6.5 ) {
                               var marker = new google.maps.Marker({
                                   position: latLng,
                                   title: data.RTU_Addr,
                                   icon: blueIcon
                                });
                                setInfoWindow();
                           }
                           else {
                               var marker = new google.maps.Marker({
                                   position: latLng,
                                   title: data.RTU_Addr,
                                   icon: redIcon
                                });
                                setInfoWindow();
                           }
                      }
                      // If sensor data is present, RTU is assumed to be end unit.
                      // Displayed in red/green and Info Window displays all readings along with timestamp and voltage.
                      else {
                          if ( data.SysV >= 6.5 ) {
                              var marker = new google.maps.Marker({
                                  position: latLng,
                                  title: data.RTU_Addr,
                                  icon: greenIcon
                               });
                               setInfoWindow();
                           }
                           else {
                               var marker = new google.maps.Marker({
                                   position: latLng,
                                   title: data.RTU_Addr,
                                   icon: redIcon
                                });
                                setInfoWindow();
                            }

                        }
                        marker.setMap(map);

                        function setInfoWindow() {
                            google.maps.event.addListener(marker, 'click', function() {
                                infoWnd.setContent("hi");
                                InfoWnd.open(map, marker);
                             });
                         };
                     });    
                 }
             });
        });
    </script>

var blueIcon=”http://www.google.com/intl/en_us/mapfiles/ms/micons/blue-dot.png";
var redIcon=”http://www.google.com/intl/en_us/mapfiles/ms/micons/red-dot.png";
var greenIcon=”http://www.google.com/intl/en_us/mapfiles/ms/micons/green-dot.png";
infoWnd=new google.maps.InfoWindow();
$(文档).ready(函数(){
$.ajax({
网址:'http://localhost/testing/map_json.php',
数据类型:“json”,
成功:函数(jsonData){
$.each(jsonData、函数(键、数据){
var latLng=新的google.maps.latLng(data.lat,data.lng);
//创建标记,将其放在地图上
//如果不存在传感器读取数据,则假定RTU为中继器节点。
//以蓝色显示,信息窗口仅显示系统电压和读取时间。
if(data.R_1==未定义){
如果(data.SysV>=6.5){
var marker=new google.maps.marker({
位置:latLng,
标题:data.RTU_Addr,
图标:蓝色图标
});
setInfoWindow();
}
否则{
var marker=new google.maps.marker({
位置:latLng,
标题:data.RTU_Addr,
图标:redIcon
});
setInfoWindow();
}
}
//如果存在传感器数据,则假定RTU为终端装置。
//以红色/绿色显示,信息窗口显示所有读数以及时间戳和电压。
否则{
如果(data.SysV>=6.5){
var marker=new google.maps.marker({
位置:latLng,
标题:data.RTU_Addr,
图标:绿色图标
});
setInfoWindow();
}
否则{
var marker=new google.maps.marker({
位置:latLng,
标题:data.RTU_Addr,
图标:redIcon
});
setInfoWindow();
}
}
marker.setMap(map);
函数setInfoWindow(){
google.maps.event.addListener(标记'click',函数(){
infoWnd.setContent(“hi”);
打开(地图、标记);
});
};
});    
}
});
});


知道我哪里出错了吗

在函数
setInfoWindow()

中,您有一个打字错误
InfoWnd
,而不是
InfoWnd
。我猜你盯着某样东西看的时间够长了,你会错过那些东西。谢谢