Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.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 Google地图标记和嵌套JSON在地图信息窗口中显示数据_Javascript_Json_Html_Google Maps_Google Maps Markers - Fatal编程技术网

Javascript Google地图标记和嵌套JSON在地图信息窗口中显示数据

Javascript Google地图标记和嵌套JSON在地图信息窗口中显示数据,javascript,json,html,google-maps,google-maps-markers,Javascript,Json,Html,Google Maps,Google Maps Markers,我正在使用谷歌地图通过信息窗口显示其中的一些地方和用户 谷歌地图脚本: <script> var markers = [ ['<p>New York</p> <p><a href="#myModal" role="button" class="btn" data-toggle="modal">More information</a></p>', 40.769090, -74.002740], ['<p>

我正在使用谷歌地图通过信息窗口显示其中的一些地方和用户

谷歌地图脚本:

<script>
var markers = [
['<p>New York</p> <p><a href="#myModal" role="button" class="btn" data-toggle="modal">More information</a></p>', 40.769090, -74.002740],
['<p>Washington, Finland</p> <p><a href="#myModal" role="button" class="btn" data-toggle="modal">More information</a></p>', 38.908127, -77.034863],
];

function initializeMaps() {
var myOptions = {
    zoom: 3,
    center: new google.maps.LatLng(40.769090, -74.002740),
    mapTypeId: google.maps.MapTypeId.ROADMAP,
    mapTypeControl: false
};
var image = 'img/logos.png';
var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);
var infowindow = new google.maps.InfoWindow(), marker, i;
for (i = 0; i < markers.length; i++) {  
    marker = new google.maps.Marker({
        position: new google.maps.LatLng(markers[i][1], markers[i][2]),
        map: map,
        icon: image
    });
    google.maps.event.addListener(marker, 'click', (function(marker, i) {
        return function() {
            infowindow.setContent(markers[i][0]);
            infowindow.open(map, marker);
        }
    })(marker, i));
}}</script> 
HTML:

    <div id="map_canvas"></div>   
    <div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-header">
    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
    <h3 id="myModalLabel">More Details</h3>
    </div>
    <div class="modal-body">
    <p class="ID">ID</p>
    <ul class="Location"></ul>
    </div>
    <div class="modal-footer">
     <button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
    <button class="btn btn-primary">Save changes</button>
    </div>
    </div>

×
更多细节

ID

    接近 保存更改
    我面临的问题是在其各自的位置显示特定的用户。
    例如,当我在标记中单击new york时,它应该会显示包含两个会话的信息窗口及其详细信息(根据JSON文件)。我不知道如何处理标记ID和嵌套JSON。请帮忙

    您的yode中有几个问题需要解决

    第一:

     <script> 
       var success = function(data) {
       $(".ID").append(data.sessions[0].ID); 
       $(".Users").append(data.sessions[0].Users); 
       $.each(data.sessions[0].Location, function(i, value){
       $(".Location").append('<li>' +  value.name + '</li>');
       })
       }
       $.getJSON("sample.json", success);
       </script> 
    
    看一看,您最好在没有空格的情况下编写标识符

    因此,您可以编写一个for构造,如:

     for(var i = 0; i<data.sessions.length;i++){
           var locations = data.sessions[i].Location;
           if ('Washington' in locations) { 
              //Code to add it in your city information window
                  console.log(locations.Washington);
    
           }
       }
    

    对于(var i=0;我是否有一个完整的示例(或一个JSFIDLE)显示问题?或者至少显示您发布的代码正在工作?@geocodezip并检查我在回答之前检查过的两个选项;)我已将ID更改为100和200,但无法检索数据。我同意你所说的模型。我会换的。我想分步走。
    
     <script> 
       var success = function(data) {
       $(".ID").append(data.sessions[0].ID); 
       $(".Users").append(data.sessions[0].Users); 
       $.each(data.sessions[0].Location, function(i, value){
       $(".Location").append('<li>' +  value.name + '</li>');
       })
       }
       $.getJSON("sample.json", success);
       </script> 
    
    data.sessions[0].Location.NewYork[0] 
    
     for(var i = 0; i<data.sessions.length;i++){
           var locations = data.sessions[i].Location;
           if ('Washington' in locations) { 
              //Code to add it in your city information window
                  console.log(locations.Washington);
    
           }
       }