2

Google マップ バージョン 3 の API はまだ進化しているため、プラグインは使用したくありません。バージョン 2 のオリジナル スクリプトは、マーカーをクリックすると表示され、マップ領域をクリックすると消えるカスタム情報ウィンドウを表示するのに完全に機能します。新しい API では、オブジェクト google.maps.OverlayView が導入されていますが、これを JQuery と組み合わせて使用​​するのは困難です。私の元のコードのサンプルを以下に示します。

function Results(json) {
    var L = json.output.length;
    var website = json.web;
    if (L > 0) {
        for(i=0; i<L; i++) {
            var listing = json.output[i];
            addLocation(listing, website);
        }
    }
}

function addLocation(A, B) {
    var point = new GLatLng(A.lat, A.lng);      
    var icon = new GIcon(baseIcon);
    icon.image = 'images/' + A.mks + '.png';
    var M = new GMarker(point, icon);
    map.addOverlay(M);

    GEvent.addListener(M, 'click', function(){
        showInfo(M, '<A href=\"site.php?ID=' + A.id + '\">' + A.name + '</A>');
    });
    GEvent.addListener(map, 'click', function(){
        hideInfo();
    });

    showResult(A, B);
}

function showInfo(M, text){
    var markerOffset = map.fromLatLngToDivPixel(M.getPoint());
    $('#info').appendTo(map.getPane(G_MAP_FLOAT_SHADOW_PANE));
    $('#info').show()
        .css({ top:markerOffset.y, left:markerOffset.x })
        .html(text);
}

function hideInfo(){
    $('#info').hide();
}

var Q = 'search.php'; // an array is output in Json format
$.getJSON(Q, Results);

私が見つけることができる最も近い例は次のとおりです。自分の思いとはまだまだかけ離れています。

APIバージョン3で動作するように上記を変換する考えがあるかどうかはわかりません.

4

1 に答える 1