本文介绍了在 jquery mobile 中使用谷歌地图的清晰方向示例?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
尝试获得一个有效的 jquery 移动地图方向页面.列出了这个例子:
http://jquery-ui-map.googlecode.com/svn/trunk/demos/jquery-google-maps-mobile.html#directions_map
但是示例代码很乱,无法运行:(.宜家使用它.
http://m.ikea.com/nl/nl/stores/415/map/
但他们也非常定制了 js,所以很难看出会发生什么.
有谁知道一个很好的简洁示例或易于遵循的实现?
解决方案
您可以在下面找到在 jQuery Mobile 页面中使用 Google 地图路线服务的基本示例.
更新 1:
以下示例使用自动定位的当前位置和用户提供的目标目的地地址.
<html lang="zh-cn"><头><title>带有谷歌地图的jQuery mobile</title><link rel="stylesheet" href="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.css"/><script src="http://code.jquery.com/jquery-1.8.2.min.js"></script><script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script><script type="text/javascript" src="http://maps.google.com/maps/api/js?v=3&sensor=false&language=en"></script><script type="text/javascript">无功地图,当前位置,方向显示,方向服务;函数初始化(纬度,经度){方向显示 = 新 google.maps.DirectionsRenderer();路线服务 = 新的 google.maps.DirectionsService();currentPosition = new google.maps.LatLng(lat, lon);map = new google.maps.Map(document.getElementById('map_canvas'), {变焦:15,中心:当前位置,mapTypeId: google.maps.MapTypeId.ROADMAP});DirectionsDisplay.setMap(地图);var currentPositionMarker = new google.maps.Marker({位置:当前位置,地图:地图,标题:当前位置"});var infowindow = new google.maps.InfoWindow();google.maps.event.addListener(currentPositionMarker, 'click', function() {infowindow.setContent("当前位置:纬度:" + lat +" 经度:" + lon);infowindow.open(map, currentPositionMarker);});}函数locError(错误){//使用静态预定义纬度、经度初始化地图初始化(59.3426606750,18.0736160278);}功能locSuccess(位置){初始化(position.coords.latitude,position.coords.longitude);}函数计算路由(){var targetDestination = $("#target-dest").val();if (currentPosition && currentPosition != '' && targetDestination && targetDestination != '') {无功请求 = {原点:当前位置,目的地:目标目的地,travelMode: google.maps.DirectionsTravelMode["DRIVING"]};路线Service.route(请求,功能(响应,状态){如果(状态 == google.maps.DirectionsStatus.OK){DirectionsDisplay.setPanel(document.getElementById("directions"));DirectionsDisplay.setDirections(响应);/*var myRoute = response.routes[0].legs[0];for (var i = 0; i < myRoute.steps.length; i++) {警报(myRoute.steps[i].instructions);}*/$("#results").show();}别的 {$("#results").hide();}});}别的 {$("#results").hide();}}$(document).live("pagebeforeshow", "#map_page", function() {navigator.geolocation.getCurrentPosition(locSuccess, locError);});$(document).on('click', '#directions-button', function(e){e.preventDefault();计算路线();});头部><身体><div id="basic-map" data-role="page"><div data-role="header"><h1><a data-ajax="false" href="/">jQuery mobile with Google maps v3</a></h1>