如何使用一个JSON字符串的谷歌地图.data. loadgeojson

How to use Google map.data.loadGeoJson with a JSON string?

本文关键字:字符串 谷歌地图 data loadgeojson JSON 一个 何使用      更新时间:2023-09-26

我需要在我的谷歌地图上加载多个顺序数据层。我使用servlet生成GeoJSON字符串,该字符串由XMLHttpRequest检索。然后我想用map.data.loadGeoJson加载它,但它期望一个文件作为参数。我觉得在服务器上写GeoJSON文件,然后给出URL作为参数是不有效的。

是否有一种方法可以欺骗loadGeoJson,使其接受来自servlet的JSON字符串?例如:

    xhr = new XMLHttpRequest();
    xhr.open("GET","/hello/MyHello?date="+ d.toISOString(),true);
    xhr.onreadystatechange = function() {
        if (this.readyState == 4 && this.status == 200) 
        {
            var geoJSON = JSON.parse(this.responseText);
            map.data.loadGeoJson(geoJSON );
        }
    };

对于JSON数据不要使用loadGeoJson,使用addGeoJson。loadGeoJson用于"远程"数据,如果您已经有数据,请使用addGeoJson

xhr = new XMLHttpRequest();
xhr.open("GET","/hello/MyHello?date="+ d.toISOString(),true);
xhr.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) 
    {
        var geoJSON = JSON.parse(this.responseText);
        map.data.addGeoJson(geoJSON );
    }
};