2点間距離を測定するGoogle maps サンプル(下記)を入手したのですが、次のように手直ししたいと考えています。ご教授の程、よろしくお願い致します。
(1)出発地は決まっているので、「◯◯から」の◯◯の表示は必要ありません。
(2)そのかわり、出発地のポイントと名称をあらかじめ表示させておきたい。
(3)目的地の住所を入力して検索するだけで案内が表示される。
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=yes">
<title>Google Maps API v3 Directions Draggable</title>
<style type="text/css">
body {background-color: #B7C4C8; font-family: Arial, "MS PGothic"; text-align: center; font-size: small;}
div#wrapper {width: 728px; margin: 0 auto; padding: 0; text-align: left;}
</style>
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=f …
<script type="text/javascript">
var rendererOptions = {draggable: true};
var directionsDisplay = new google.maps.DirectionsRenderer(rendererOptions);
var directionsService = new google.maps.DirectionsService();
var map;
var aqui = new google.maps.LatLng(35.69, 139.71);
function initialize() {
var myOptions = {zoom: 10, center: aqui, mapTypeId: google.maps.MapTypeId.ROADMAP};
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
directionsDisplay.setMap(map);
directionsDisplay.setPanel(document.getElementById("directionsPanel"));
google.maps.event.addListener(directionsDisplay, "directions_changed", function() {
computeTotalDistance(directionsDisplay.directions);
});
calcRoute();
}
function calcRoute(fromAddress, toAddress) {
var selectedMode = document.getElementById("mode").value;
var fromAddress = document.getElementById("fromAddress").value;
var toAddress = document.getElementById("toAddress").value;
var request = {origin: fromAddress, destination: toAddress, travelMode: google.maps.DirectionsTravelMode[selectedMode]};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(response);
}
});
}
function computeTotalDistance(result) {
var total = 0;
var myroute = result.routes[0];
for (i = 0; i < myroute.legs.length; i++) {
total += myroute.legs[i].distance.value;
}
total = total / 1000.
document.getElementById("total").innerHTML = total + " km";
}
</script>
</head>
<body onload="initialize()">
<div id="wrapper">
<div style="margin-bottom: 8px;">
<strong>Directions: モード=</strong>
<select id="mode" onchange="calcRoute();">
<option value="DRIVING">車</option>
<option value="WALKING">歩き</option>
</select>
<form action="#" onsubmit="calcRoute(this.fromAddress.value, this.toAddress.value); return false">
<input type="text" size="12" id="fromAddress" name="from" value=""/>から~
<input type="text" size="12" id="toAddress" name="to" value="" />へのルートを
<input name="submit" type="submit" value="検索" />またはドラッグ&ドロップ
</form>
</div>
<div id="map_canvas" style="float:left; width:500px; height:400px;"></div>
<div id="directionsPanel" style="margin-left: 505px; width:223px; height: 400px; overflow: auto; background-color: #FFF;"><p>距離:
<span id="total"></span></p></div>
<div style="margin-top: 12px;">
<script type="text/javascript"><!--
google_ad_client = "ca-pub-9624687380026797";
/* 728-90Big */
google_ad_slot = "2458118948";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show …
</script>
</div>
<!--/ #wrapper--></div>
<script type="text/javascript">
<!--
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-1220676-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script');
ga.src = 'http://www.google-analytics.com/ga.js';
ga.setAttribute('async', 'true');
document.documentElement.firstChild.appendChild(ga);
})();
// -->
</script>
</body>
</html>
以上です。よろしくお願い致します。
No.3ベストアンサー
- 回答日時:
No.2
- 回答日時:
内容は見ていませんが、スクリプトがちゃんと動作しているのなら、かなりの部分はHTMLの修正だけでできませんか?
(1)input要素にあらかじめ値を設定しておき、readonlyにしておく。
表示したくないのであればtype="hidden"に
(3)現状のスクリプトの機能がそのようになっているのでは?
(2)だけはスクリプトで対応しなければならないかも…
No.1
- 回答日時:
ちょっとコードを書いている暇がないので、サンプルのリンクだけ案内します。
https://google-developers.appspot.com/maps/docum …
https://google-developers.appspot.com/maps/docum …
ご回答ありがとうございます。
早速IEの開発者ツールでhtmlをコピーして再現してみました。
しかし、最上部の選択ボックスは表示されるのですが、地図が出てこず真っ白なままです。
何がいけないのでしょうか?
https://google-developers.appspot.com/maps/docum …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ActiveXobjectが作成できない
-
<a>タグのテキストを取得
-
javascriptで、表示されている...
-
任意の座標をクリックさせるには
-
onchangeイベントを使ってspan...
-
Click回数を数え、規定された回...
-
innerHTML実行後のイベント
-
javascriptでスロットゲームを...
-
DIV内のDIV要素を移動する。
-
GreaseMonkeyについて
-
JavaScriptでのcheckbox作成
-
javascript 特定のタグのidの存...
-
javascriptで編集可能不可能の...
-
重複しないくじの作り方がわか...
-
IE8でdivのcontenteditable=tru...
-
モーダルダイアログウィンドウ...
-
画像上のクリックした場所が分...
-
IEでもFirefoxでも動作する点滅...
-
Boolean型配列中のTrueの有無を...
-
JavaScript window.openで開く...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<a>タグのテキストを取得
-
[初心者]javascriptのfor文でな...
-
ActiveXobjectが作成できない
-
任意の座標をクリックさせるには
-
appendChildがieだとできない??
-
onchangeイベントを使ってspan...
-
【Tabキー】特定の範囲内だけで...
-
モーダルダイアログウィンドウ...
-
javascript 特定のタグのidの存...
-
日本語入力の禁止
-
innerHTML実行後のイベント
-
HTML:Tableタグに対し、JavaScr...
-
onclickを使わずにイベント処理...
-
アンカークリックのイベントを...
-
javascriptでスロットゲームを...
-
画像上のクリックした場所が分...
-
javascriptでCSVを呼出しvlookup
-
javascriptで編集可能不可能の...
-
Click回数を数え、規定された回...
-
子画面からwindow.openを開いた...
おすすめ情報