新しいアップデートでは、この1つは目的地のエンコーディングを別の関数に置き、各ジオコーディングの呼び出しを個別に行います。コールバックプロシージャをネストしようとするよりはるかにスケーラブルでなければなりません。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8"/>
<title>Google Maps API Geocoding Demo</title>
<script src="http://maps.google.com/maps/api/js?sensor=false"
type="text/javascript"></script>
</head>
<body>
<div id="map" style="width: 1280px; height: 1024px;"></div>
<script type="text/javascript">
//add locations
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 2,
center: new google.maps.LatLng(35.00, -25.00),
mapTypeId: google.maps.MapTypeId.TERRAIN
});
var address1 = '60033';
var gc = new google.maps.Geocoder();
gc.geocode({'address': address1}, function (res1, status) {
var hub = res1[0].geometry.location;
new google.maps.Marker({
position: res1[0].geometry.location,
map: map
});
geocodeLine(hub, '44145');
geocodeLine(hub, '03103');
geocodeLine(hub, '30236');
geocodeLine(hub, '18106');
geocodeLine(hub, '64147');
geocodeLine(hub, '86401');
geocodeLine(hub, '75110');
geocodeLine(hub, '56001');
geocodeLine(hub, '80239');
geocodeLine(hub, '95776');
});
function geocodeLine(hub, address)
{
var gc = new google.maps.Geocoder();
gc.geocode({'address': address}, function (res, status) {
if (status == google.maps.GeocoderStatus.OK) {
new google.maps.Marker({
position: res[0].geometry.location,
map: map
});
new google.maps.Polyline({
path: [
hub,
res[0].geometry.location
],
strokeColor: '#FF0000',
geodesic: true,
map: map
});
}
});
}
</script>
</body>
</html>
ご回答ありがとうございます。送信した例の唯一の問題は、すべてのアドレスを線形に処理していることです。それらをそれぞれユニークにする方法はありますか?例えば、ロンドンからニューヨークへの1つのラインと、シカゴからLAへの1つのライン。このコードは、ロンドンからニューヨークからシカゴ、LAまで生成しています。もし私がニューヨークをシカゴの足にしたくないのであれば?再び、TONに感謝します! –
この場合、ポリラインは連続線を表し、2本の線を持つため、2つのポリラインを作成する必要があるため、複数のポリラインを作成する必要があります。上記の答えに私が何を意味しているかを示す例を置いた。 – javram
あなたは男です!すべての助けをありがとう。もう一つの簡単な質問です。私はこれを私のニーズに合わせてコーディングしましたが、あまりにも多くのポイントを追加すると少し壁にぶち当たっているようです。あなたがhttp://www.maptest.freehosting.com/chi.htmlを見ると、もう一つのポイントを追加する必要があることを除いて、私が作ろうとしている地図を作った。しかし、私が12番目のポイントを追加しようとするとうまくいかない。これを引き起こす原因は何ですか?それはGoogleのものか、スクリプトのことか、ユーザーのエラー(私)ですか?ありがとう。 –