我的主要问题是以粗体显示,我目前正在开发一个业务系统,它有一个位置(如加利福尼亚州)供应商(如沃尔玛),但我只能做到的是点a(前洛杉矶)到b点(例如旧金山)我想指出一点(前洛杉矶)指向b(例如沃尔玛)即使可能吗?这里是我研究的代码,虽然我不明白一些代码,我把它拿到了某处并编辑了一些代码。任何帮助将不胜感激。
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=true"></script>
<script type="text/javascript">
var map;
var directionsDisplay = new google.maps.DirectionsRenderer();
var directionsService = new google.maps.DirectionsService();
jQuery(document).ready(function(){
function initialize() {
var balanga = new google.maps.LatLng(14.67460421, 120.52207947);
var myOptions = {
zoom:10,
mapTypeId: google.maps.MapTypeId.ROADMAP,
center: balanga
}
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
}
/*Function for creating the roadmap*/
function calcRoute(start, end, mode) {
var request = {
origin:start,
destination:end,
travelMode: google.maps.TravelMode[mode]
};
directionsService.route(request, function(result, status) {
if (status == google.maps.DirectionsStatus.OK) {
directionsDisplay.setDirections(result);
}
});
directionsDisplay.setMap(map);
/*Show directions panel*/
directionsDisplay.setPanel(document.getElementById("directions"));
}
initialize();
calcRoute('Pampanga', 'Mariveles', 'DRIVING');
jQuery('#driveit').click(function(){
var srcAddr = jQuery('#from').val();
var destAddr = jQuery('#to').val();
var mode = jQuery('#mode').val();
calcRoute(srcAddr, destAddr, mode);
});
});
</script>
</head>
<body>
<h2>Map of Bataan </h2>
<div class="googlemap">
<div id="map_area">
<div id="map_canvas"></div>
<div class="text">
<br />
From <input type="text" id="from" value="City of Balanga" />
To <input type="text" id="to" value="Mariveles" />
Travel Mode
<select id="mode">
<option value="DRIVING">Driving</option>
<option value="WALKING">Walking </option>
<option value="BICYCLING">Bicycling </option>
</select>
<input type="button" value="Show Route" id="driveit" />
<br /><a href="Admin/home.php"><h2>BACK</h2></a>
</div>
</div>
<div id="directions"></div>
</div>
</body>
答案 0 :(得分:0)
可以使用Google Maps API的Google Distance Matrix功能。 但Google Maps API的这些资源仅限于免费使用。
免费使用的限制是:
通过查询100个元素。 100个元素乘以10秒。 每天2500个元素。 这应该在您的网站/应用程序的公共(免费阅读)区域使用。
每个位置都是一个元素。如果要比较2个点之间的距离,则需要使用2个元素。
如果你想比较50个地址的距离,找到最接近的地址,你可以使用50个元素。