- Dart : 1.8.3
- Bootstrap : 3.2.0
- include file dart.js,interop.js
Start:
End:
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?key=・・・・&sensor=false"></script> <style type="text/css"> #map-canvas { height: 400px } #panel { position: absolute; top: 5px; left: 50%; margin-left: -180px; z-index: 5; background-color: #fff; padding: 5px; border: 1px solid #999; } </style> <div id="panel"> <b>Start: </b> <select id="start"> <option value="35.6814,139.7661">東京駅</option> <option value="35.6842,139.7629">大手町駅</option> </select> <b>End: </b> <select id="end"> <option value="35.6857,139.7612">大手門</option> <option value="35.6795,139.7577">二重橋前</option> </select> </div> <div id="map-canvas"></div> <script type="application/dart" src='http://www.example.com/wp/wp-content/themes/ang/dart/marker1/index.dart'></script> <script src='http://www.example.com/wp/wp-content/themes/ang/dart/packages/browser/dart.js'></script> <script src='http://www.example.com/wp/wp-content/themes/ang/dart/packages/browser/interop.js'></script>
library google_maps; import 'dart:html' show querySelector; import 'dart:js' show context, JsObject; void main() { final google_maps = context['google']['maps']; var center = new JsObject(google_maps['LatLng'], [35.6814, 139.7661]); var mapTypeId = google_maps['MapTypeId']['ROADMAP']; var mapOptions = new JsObject.jsify({ "center": center, "zoom": 15, "mapTypeId": mapTypeId }); var map = new JsObject(google_maps['Map'], [querySelector('#map-canvas'), mapOptions]); var polyOptions = new JsObject.jsify({ "strokeColor": '#ff0000', "strokeOpacity": 0.7, "strokeWeight": 7 }); var rendererOptions = new JsObject.jsify({ "draggable": true, "polylineOptions": polyOptions }); var directionsService = new JsObject(google_maps['DirectionsService'], []); var directionsDisplay = new JsObject(google_maps['DirectionsRenderer'], [rendererOptions]); directionsDisplay.callMethod('setMap',[map]); var start = querySelector('#start'); var end = querySelector('#end'); start.onChange.listen((event) { var request = new JsObject.jsify({ "origin": start.value, "destination": end.value, "travelMode": google_maps['TravelMode']['WALKING'] }); directionsService.callMethod('route',[request,(response, status) { if (status == google_maps['DirectionsStatus']['OK']) { directionsDisplay.callMethod('setDirections',[response]); } }]); }); end.onChange.listen((event) { var request = new JsObject.jsify({ "origin": start.value, "destination": end.value, "travelMode": google_maps['TravelMode']['WALKING'] }); directionsService.callMethod('route',[request,(response, status) { if (status == google_maps['DirectionsStatus']['OK']) { directionsDisplay.callMethod('setDirections',[response]); } }]); }); }