2016-09-14 44 views
0

Googleマップに複数の順次データレイヤーをロードする必要があります。 サーブレットを使用してGeoJSON文字列を生成します。この文字列はXMLHttpRequestによって取得されます。次に、map.data.loadGeoJsonを使用してロードしますが、パラメータとしてファイルが必要です。 GeoJSONファイルをサーバーに書き込んだ後、そのURLをパラメータとして指定することは効率的ではないと思います。JSON文字列でGoogle map.data.loadGeoJsonを使用するにはどうすればよいですか?

loadGeoJsonをトリックしてサーブレットの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); 
     } 
    }; 

答えて

0

loadGeoJsonをJSONデータに使用しないでください。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); 
    } 
}; 
+0

ありがとうございます!それは今働く。完全なリファレンスが見つかりましたhttps://developers.google.com/maps/documentation/javascript/reference –

関連する問題