私はJSONファイルからデータを動的に取得し、マップにマーカを作成する関数を使って自分のウェブサイトにGoogleマップを作成しましたデータを受信しました。Google Mapsでは、JSONファイルのマーカーのうちの限られた量(21)しか表示されません
Google Maps: Working With JSON Objectsに関するGoogleの公式チュートリアルの後、小さな問題がある以外はすべて正常に動作します。地図には、少なくとも1600件のエントリがあるうちに最大約21個のマーカーしか表示されません。その結果マーカーは、常に同じですが、彼らはここに関連するコードの抜粋だ(マーカーは情報ウィンドウの正しいタイトルと正しい位置にある)正しいデータを持っている:コードに関する
for (var x in dataForm4) {
var data = dataForm4[x];
var latLng = new google.maps.LatLng(data.lat, data.lng);
addMarker (map, data.address, latLng);
};
} //This is where the "initiliaze map" function ends
var infoWindow;
function addMarker (map, address, latLng){
var marker = new google.maps.Marker({
position: latLng,
map: map,
});
google.maps.event.addListener(marker, 'click', function() {
if (typeof infoWindow != 'undefined') infoWindow.close();
infoWindow = new google.maps.InfoWindow ({
content: address
});
infoWindow.open(map, marker);
});
}
注:
をdataForm4は、JSONファイルの文字列化変数です:
<script> var dataForm4 = <%- JSON.stringify(form2) %>; </script>
- の
アドレスは、私は、データがデータベースに入力された機能さを有する
初期化関数内で定義されている情報ウィンドウで
悲しいことに、マーカークラスタリングはオプションではありません。私はsetTimeout()とsetInterval()関数を使ってみましたが、私が新しいので、マップで正しく動作するようにはできませんでした。参考までに私はGoogleのMap APIの無料版を使用しています。
Googleがそれらを教えても、「JSONオブジェクト」は厄介なものです... – Teemu
私の最初のアイデア:データにエラーがあります。機能に迷惑をかける特殊文字かもしれません。そして、関数はちょうど停止します。おそらく住所。これを試してみるとどうなるか見てみましょう:addMarker(map、 'Hello'、latLng) –