私はウェブ全体とSOを検索しましたが、これを理解できませんでした。
問題は次のとおりです。
jquery-ui-map サイトの以下のデモを使用して、JSON ファイルをロードしています。
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-json.html
マーカーの読み込みは正常に機能しますが、30 秒ごとにコンテンツを更新して新しいマーカーを取得する必要があります。
最初は関数をもう一度呼び出すだけだと思っていましたが、マーカーが残っていました。いくつかの調査の結果、マーカーをクリアする必要があることがわかりました (V3 ではそれほど簡単ではありませんが、実行できました) が、問題はマーカーを再び表示できないことです。
destroy 関数を使用すると、新しいマーカーをリロードして古いマーカーを削除できますが、マップが点滅します。マーカーをクリアしようとすると、新しいマーカーが表示されません。
どんな助けでも大歓迎です。
以下は私のコードです:
<script type="text/javascript">
function mapTest() {
$('#map_canvas').gmap('destroy');
//clearMap();
demo.add(function() {
$('#map_canvas').gmap({'disableDefaultUI':true, 'callback': function() {
var self = this;
$.getJSON( 'json/demo.json?'+ new Date().getTime(), function(data) {
$.each( data.markers, function(i, marker) {
self.addMarker({ 'position': new google.maps.LatLng(marker.latitude, marker.longitude), 'bounds':true } ).click(function() {
self.openInfoWindow({ 'content': marker.content }, this);
});
});
});
}});
}).load();
}
function clearMap(){
$('#map_canvas').gmap('clear', 'markers');
}
mapTest();
setInterval(mapTest, 30000 );
</script>
乾杯。