【问题标题】:How to display GeoJson object on bing map?如何在 bing 地图上显示 GeoJson 对象?
【发布时间】:2020-08-17 13:40:38
【问题描述】:

我正在尝试调用带有位置的 api,以在 bing 地图上显示 GeoJson 对象。我在下面编写了代码,但地图上没有显示任何内容,也没有错误。

您能看看这段代码有什么问题吗?

var api = 'https://api/locations';

    Microsoft.Maps.loadModule('Microsoft.Maps.GeoJson', function () {

        Microsoft.Maps.GeoJson.readFromUrl(api,
            function (shapes) {
                //Add the shape(s) to the map.
                map.entities.push(shapes);
            }, 'callback');
    });

谢谢

【问题讨论】:

    标签: maps geojson bing-maps


    【解决方案1】:

    您调用的服务是否使用 JavaScript 包装响应?您的代码具有“回调”,它告诉 Bing Maps 发出 JSONP 请求,该请求会将 &callback=[some internal callback function] 附加到请求中。如果您的服务不使用 JSONP 并且托管在同一域上或位于启用 CORs 的端点上,请从您的代码中删除 callback 参数。

    【讨论】:

    • 是的,服务是GeoJson api,它不在同一个域中。
    • 浏览器开发工具显示警告:“Cross-Origin Read Blocking (CORB)blocked cross-origin response”并显示错误:“mapcontrol?callback=GetMap:11 Uncaught Error: Network error occurred while getting geoJson数据来自 https://...."
    • 如果服务可以选择将响应包装在函数调用中,您可以尝试使用如下脚本标记加载数据:github.com/Microsoft/BingMapsV8CodeSamples/blob/master/Samples/… 如果这不起作用,您可能需要一种代理服务,用于获取数据服务器端并将其传递给您域中的应用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多