地図のあるサイトがあります。すでに設定されている特定の目的地から出発したい都市名を入力するテキストフィールドがあります。この目的地にたどり着くために、コードにウェイポイントをハードコーディングしました。
これはすべてうまく機能します。クリックすると道順(テキスト形式)が表示されるボタンがあり、別のボタンをクリックすると、開始点と終了点を示す小さな地図が表示されます。このマップにもウェイポイントを追加したいと思います。
次のようにしたい: http://img209.imageshack.us/img209/1121/whatiwant.png
しかし、私が得たものは次のとおりです。 http://img687.imageshack.us/img687/1554/whatigetm.png
2 番目の画像のコード:
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&mrad="+waypoints +"&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow");
私の変更前の元の状態:
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value +"&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXX=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow");
元の外観: http://img441.imageshack.us/img441/56/originalhd.png
ここでわかるように、「mrad」プロパティを追加すると、方向テキストも失われます。
これらのプロパティについては、次のリンクで調べています: http://www.seomoz.org/ugc/everything-you-never-wanted-to-know-about-google-maps-parameters http://mashupguide.net /1.0/html/ch02s05.xhtml 緯度経度 に移動するには、Google マップの URL でどのパラメーターを使用すればよいですか?
しかし、ウェイポイントをマップに追加する方法が見つかりません。
基本的に、ウェイポイントをマップに追加すると同時に、最後の写真に示されている方向テキストを失わないようにする方法を探しています。
mrdad プロパティを使用しました。「mrad: 追加の宛先アドレスを指定できます。」
ここで何か誤解していますか?おそらくいくつかのプロパティがありませんか?
答えてくれてありがとう!&何か不明な点があれば質問してください!
//Ra3IDeN
編集:
目的のルートを提供するコード(「ルートを表示」ボタンをクリックすると実行されます):
function overlayDirections()
{
// reset the map
if(waypoints.length >0){
request = {
origin: null,
destination: null,
waypoints: [],
travelMode: google.maps.DirectionsTravelMode.DRIVING,
optimizeWaypoints:true,
avoidHighways:true,
avoidTolls: true
};
for (var i = 0; i < markers.length; i++) {
markers[i].setMap(null);
}
markers = [];
origin = null;
destination = null;
waypoints = [];
directionsDisplay.setMap(null);
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(mapdir);
}
$("#directions").text('');
//$("#map_dir").empty();
viaAddress = document.getElementById('viaAddress').value;
fromAddress = document.getElementById("fromAddress").value;
var language = '<%=CurrentPage.LanguageBranch %>';
<asp:PlaceHolder ID="Domestic" runat="server" visible="false">
/*No ferry is needed*/
var noOfPoints = 2;
var waypoints = new Array(noOfPoints);
waypoints[0] = fromAddress;
waypoints[1] = '<%=GetToAddress() %>';
</asp:PlaceHolder>
<asp:PlaceHolder ID="International" runat="server" visible="false">
/*Ferry is required*/
var vpM = fromAddress;
if (viaAddress == 'Rostock')
var wp1 = new google.maps.LatLng(55.357953,13.14894);
else
var wp1 = new google.maps.LatLng(55.37417,13.14731);
addMarker(wp1);
waypoints.push({ location: wp1, stopover: true });
if(viaAddress != 'Rostock')
var wp2 = new google.maps.LatLng(53.93406,10.841789);
else
var wp2 = new google.maps.LatLng(54.152747,12.098023);
addMarker(wp2);
waypoints.push({ location: wp2, stopover: true });
destination =new google.maps.LatLng(<%=GetToAddress() %>);
addMarker(destination);
// set properties to a object
</asp:PlaceHolder>
request = {
origin: vpM,
destination: destination,
waypoints: waypoints,
travelMode: google.maps.DirectionsTravelMode.DRIVING,
optimizeWaypoints:true,
avoidHighways:false,
avoidTolls: true
};
//displays the resutl
directionsDisplay = new google.maps.DirectionsRenderer();
directionsDisplay.setMap(mapdir);
directionsDisplay.setPanel(document.getElementById("directions"));
// draws the route
gdir.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
}
via プロパティを使用しても何の変更もありませんでしたが、間違った方法で使用したのでしょうか?:
$('#print-directions').click(function(){
if (document.getElementById("fromAddress").value != '')
window.open("http://maps.google.com/maps?f=d&source=s_d&saddr=" + document.getElementById("fromAddress").value + "&daddr=<%=GetToAddress() %>&hl=sv&geocode=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX=ls&sll=37.0625,-95.677068&sspn=47.167389,75.410156&ie=UTF8&z=7&layer=c&pw=2","mywindow" + "&via="+ waypoints[1],waypoints[2]);
else
alert('<%=GetKey("HotelPrintNoFromAddress") %>');
return false;
});