4

私はプログラミングにまったく慣れていないので、投稿するのが少し怖いです。しかし、私は2日間、ほとんどの人にとって非常に単純である可能性が高いものに取り組んでおり、ここで試してみようと思いました...

GoogleMapsAPIでマーカーを作成しようとしています。

このようにデータをJavaScriptにハードコーディングすると、魅力のように機能します。

var locations = [
['1 Bedroom House', 55.1111, -100.1111, 1, 'This house has 1 bedroom.'],
['2 Bedroom House', 56.1111, -100.1111, 2, 'This house has 2 bedrooms.'],
['3 Bedroom House', 57.1111, -100.1111, 3, 'This house has 3 bedrooms.'],
['4 Bedroom House', 58.1111, -100.1111, 4, 'This house has 4 bedrooms.']
];

JSONリクエストがあり、代わりにそこからマーカーデータを取得する必要があります。

あなたがそれを言う前に、私はここでずっと離れていると確信しています...しかし、これは私が得たものです:

var locations = new Array();

$.getJSON("[URL]", function(json) {
        for(var i = 0; i < json.houses.length; i++) {
            var name = json.houses[i].house.name;
            var markerlat = json.houses[i].house.lat;
            var markerlng = json.houses[i].house.lng;
            var description = json.houses[i].house.description;

locations[i] = new Array();
locations[i].push('\'' + name + '\', ' + markerlat + ', ' + markerlng + ', ' + i + ', ' + '\'' + description + '\'');

}
});

ありがとう!

4

1 に答える 1

0

コードのその部分を見ると、別の場所配列なしで解決できるのではないかと思います。

次の種類のコードで $.getJSON 関数の成功ハンドラーのforループを拡張すると、うまくいくでしょうか。

new google.maps.Marker({
    position: new google.maps.LatLng(markerlat, markerlng),
    title: name,
    map: [id of the map canvas element]
    });

説明も利用できるようにしたい場合は、情報ウィンドウをトリガーするマーカーにリスナーをアタッチする必要があります。情報ウィンドウ オーバーレイとその使用方法の詳細については、Google Maps API ドキュメント サイトを参照してください。

于 2012-05-13T21:16:36.073 に答える