【问题标题】:GoDaddy Issues Displaying JSON data in Maps WindowGoDaddy 在地图窗口中显示 JSON 数据的问题
【发布时间】:2018-02-16 17:13:55
【问题描述】:

在这里,我需要第二双眼睛。我在控制台中运行了以下代码,它返回了图像中的内容,如下所示。

我在my web page 的html 中嵌入了代码,什么也没有。我尝试使用 https:// 通过 url 获取 JSON,但仍然没有。这是 GoDaddy 网络服务器的问题,还是我注定要一起显示这些数据?

   var obj = "";

    function initMap() {
        var hc = {lat: 40.4512, lng: -85.3700};
        var map = new google.maps.Map(document.getElementById('map'), {
            zoom: 4,
            center: hc
        });

        var infowindow = new google.maps.InfoWindow({
            content: obj
        });

        var marker = new google.maps.Marker({
            position: hc,
            map: map,
            title: 'Hartford City'
        });
        marker.addListener('click', function() {
            infowindow.open(map, marker);
        });
    }

    var downloadJSON = function() {
        $.getJSON( "ajax/GeoObs.json", function( data ) {
            var items = [];
            items.push( "<li id='Weather'>Weather: " + data.features[0].properties.Weather + "</li>");
            items.push( "<li id='Weather'>Temp: " + data.features[0].properties.Temp + "</li>");
            items.push( "<li id='Weather'>Wind: " + data.features[0].properties.Wind + "</li>");
            obj = $('<div>').append($( "<ul/>", { class: "my-new-list", html: items.join("") })).html();
            initMap();
        });
    }
                </script><script async defer
        src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCz672JUYjod6zzfxnBg_rzBNsBfbbjpJc&callback=initMap">

【问题讨论】:

  • downloadJSON 是一个函数。你在哪里叫它?
  • 不要给obj这么宽泛的范围。在downloadJSON 中创建它,然后将其作为参数传递给initMap()。如果您稍后调整obj,地图将不会自动更新。
  • 基于@geocodezip 的评论,我在您的downloadJSON 函数中放置了一个断点,它永远不会被调用。

标签: jquery json ajax google-maps


【解决方案1】:

您的 downloadJSON 函数永远不会被调用。

编辑您的 Google Maps API &lt;script&gt; 以在加载时调用 downloadJSON 而不是 initMap

例子:

<script async defer
    src="https://maps.googleapis.com/maps/api/js?key=AIzaSyCz672JUYjod6zzfxnBg_rzBNsBfbbjpJc&callback=downloadJSON"></script>

【讨论】:

  • 您好 zero298!谢谢你的建议。我试过了,它完全杀死了地图,而是加载了一个空白页面。我应该在其他地方打这个电话吗?
  • 你的控制台说什么?它会给你一个错误吗?
  • @user5834454 我很肯定这就是问题所在。我刚刚创建了一个代理你的静态服务器并编辑了谷歌地图脚本以调用downloadJSON,我的地图可以正确加载,而无需在控制台中运行任何东西。
  • 你是对的! Chrome 阻止脚本运行,因为它说它是从“未经身份验证的源”运行的。必须找到解决方法,但它确实会在 IE 中加载。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-03
  • 2013-06-08
  • 1970-01-01
  • 2018-04-06
  • 2020-02-16
  • 1970-01-01
相关资源
最近更新 更多