Google マップ v3 JQuery では、マーカーを取得する次の方法が導入されました。
$map.gmap('get', 'markers');
私はこれを試していますが、空の配列を取得しています。ここに私が取り組んでいるコードがあります:
var smap = $('#smap');
$(window).load(function() {
/* Initialize Map */
smap.gmap({
center: '34.913167, -94.618089',
zoom: 5
}).bind('init', function() {
/* Add markers */
$.getJSON('static/stninfo.js', function(data) {
$.each(data, function(index, stn) {
var latlng = (stn.loc).substring(0, stn.loc.length - 4);
smap.gmap('addMarker', {
position: latlng,
bounds: false,
id: stn.stnid
}).click(function() {
smap.gmap('openInfoWindow', {
content: '<strong>' + stn.name + '</strong></br>' + latlng
}, this);
});
});
});
var imap = smap.gmap('get', 'map');
var imarkers = smap.gmap('get', 'markers');
console.log(imap);
console.log(smap.gmap('get', 'markers'));
/* Initialize clusters */
smap.gmap('set', 'MarkerClusterer', new MarkerClusterer(imap, imarkers));
});
});
コードによると、MarkerClusterer を使用するにはこれが必要です。コンソールにエラーが表示されません。sの結果についてはconsole.log
、最初のもの (imap) はマップ オブジェクトを正しく返します。2 番目 (マーカー リスト) は、単に空の配列 ("[]") を返します。
MarkerClusterer コードに問題はないようです。私の疑いは、マーカーを間違って追加していることです。ここで何が問題なのかについての洞察はありますか?
私はこれを参考にしています: https://code.google.com/p/jquery-ui-map/wiki/jquery_ui_map_v_3_sample_code