1

初歩的なことを見落としている/考えていないことは知っていますが、何がわからないのかわかりません...

FusionTablesを使用してGoogleMapsAPIサークルオブジェクトの配列にデータを入力し、それらをマップに配置しようとしています。

現在、次のように配列をハードコーディングできます。

citymap['Dane'] = {
    center: new google.maps.LatLng(43.10599621690524, -89.38682556152344),
    population: 5000000
};

...そしてそれらを地図上に配置します。

また、Fusion TablesからJSONを返し、ループして配列と思われるものを作成して表示することはできますが、円オブジェクトを表示することはできません。

私がグーグル/学ぶ必要があることについてのアドバイスをいただければ幸いです。

4

2 に答える 2

0

新しい Trusted Tester API を使用して、マップに表示するポリゴンを生成する例を次に示します。

https://developers.google.com/fusiontables/docs/samples/mouseover_map_styles

ロジックは似ているはずですが、Polygon の代わりに Circle を作成します。

new google.maps.Circle({
  center: new google.maps.LatLng(<lat>, <lng>),
  strokeColor: "#FF0000",
  strokeOpacity: 0.8,
  strokeWeight: 2,
  fillColor: "#FF0000",
  fillOpacity: 0.35,
  map: map,
  radius: <radius>
});
于 2012-04-27T22:56:04.160 に答える
0

Circleクラスをチェックアウトします。円形を作成してマップ上に配置する簡単な方法を提供します。わかりました。すでに shape クラスを見つけているようです。それで問題ありません。

あなたの問題は、処理ループですべてを文字列に変換していることだと思います:

citymap = {};
for (var i = 0; i < data.table.rows.length; i++) {
    citymap += 'citymap[\'' + data.table.rows[i][0] + '\'] = {' +
        'center: new google.maps.LatLng(' + data.table.rows[i][1] + '),' +
           'population: 2842518};';
}

次のようなコードが必要だと思います。

citymap = new Array();
for ( var i = 0; i < data.table.rows.length; i++ ) {
    var circleData = {
        center: new google.maps.LatLng( data.table.rows[i][1] );
        position: 2842518
    }
    citymap.push( circleData );
}

他にもいくつかのデータを省略していることに気付きましたが、おわかりいただけたでしょうか。あなたの主な問題は、コードを文字列化していたことだと思います。

于 2012-04-27T22:52:17.653 に答える