Khi tôi nhấp vào bản đồ, tôi muốn điểm đánh dấu được chụp sang đường gần nhất. Có một ví dụ điển hình ở đây: http://econym.org.uk/gmap/example_snappath.htm (Trang chính: http://econym.org.uk/gmap/snap.htm). Tuy nhiên - ví dụ này là dành cho bản đồ google phiên bản 2. Có cách nào để làm điều này trong v3?Google Maps V3 chụp nhanh gần nhất Đường phố
14
A
Trả lời
16
Ví dụ mà bạn đã đưa ra nhận được kết quả bằng cách thực hiện tra cứu hướng và sau đó nhận vị trí đầu tiên từ đó. Trong api v3 này được thực hiện với đoạn mã sau đó "đồ" là tên của bản đồ của bạn
var directionsService = new google.maps.DirectionsService();
google.maps.event.addListener(map, 'click', function(event) {
var request = {
origin:event.latLng,
destination:event.latLng,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var marker = new google.maps.Marker({
position: response.routes[0].legs[0].start_location,
map: map,
title:"Hello World!"
});
}
});
});
1
cảm ơn nhiều Revolution42 nó hoạt động khá đẹp
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<style type="text/css">
html { height: 100% }
body { height: 100%; margin: 0; padding: 0 }
#map_canvas { height: 100% }
</style>
<script type="text/javascript"
src="http://maps.googleapis.com/maps/api/js?key=YOU API KEY&sensor=false">
</script>
<script type="text/javascript">
function initialize() {
var myOptions = {
center: new google.maps.LatLng(-34.397, 150.644),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var map = new google.maps.Map(document.getElementById("map_canvas"),
myOptions);
var directionsService = new google.maps.DirectionsService();
google.maps.event.addListener(map, 'click', function(event) {
var request = {
origin:event.latLng,
destination:event.latLng,
travelMode: google.maps.DirectionsTravelMode.DRIVING
};
directionsService.route(request, function(response, status) {
if (status == google.maps.DirectionsStatus.OK) {
var marker = new google.maps.Marker({
position: response.routes[0].legs[0].start_location,
map: map,
title:"Hello World!"
});
}
});
});
}
</script>
</head>
<body onload="initialize()">
<div id="map_canvas" style="width:100%; height:100%"></div>
</body>
</html>
Các vấn đề liên quan
- 1. V3 của Google Maps: Cách tắt "chế độ xem phố"?
- 2. API Google Maps - Bắt tọa độ trên đường phố
- 3. Bản đồ Google API v3 ranh giới thành phố
- 4. Google Maps Tìm các Tiện ích Gần nhất
- 5. API Google Maps v3 xóa tất cả các đường polycarbonate
- 6. API Google Maps v3 BrowserIsCompatible
- 7. GWT + API Google Maps v3
- 8. google maps v3 marker toolover
- 9. Xóa dấu chỉ đường khỏi API Google Maps V3
- 10. Khoảng cách chỉ đường trong Google Maps API v3
- 11. Mã hóa địa lý đảo ngược của Google - cách chụp nhanh mã bưu chính đầy đủ gần nhất
- 12. Google Maps - Nhận Polygon biên giới của vùng/khu phố
- 13. Google Maps v3 Biểu tượng hướng
- 14. Google Maps Api V3 - Quốc gia hoặc thành phố tạo kiểu
- 15. Tuyến đường thẳng của Google Maps Api (ngắn nhất)
- 16. jqtouch/google maps api v3 issue
- 17. API Google Maps, có thể làm nổi bật các đường phố cụ thể không?
- 18. Tôi làm cách nào để tìm giao lộ gần nhất thông qua API Google Maps?
- 19. Google Maps v3 InfoWindow Quá Rộng
- 20. API JavaScript của Google Maps v3
- 21. Google Maps API V3 phương thức fitBounds()
- 22. Cách Google làm Con trỏ đường phố của Maps "Theo dõi"
- 23. Google Maps v3 InfoBox Thêm Trình xử lý Sự kiện
- 24. Tuyến đường/lối đi/đường tùy chỉnh trên Google Maps
- 25. google maps api có được quốc gia và thành phố
- 26. Đánh dấu Clustering - Fusion Table Layer - Google Maps v3
- 27. Kiểm tra tính khả dụng của Chế độ xem Phố với API JavaScript của Google Maps V3
- 28. Nhiều polylines và infowindows với Google Maps V3
- 29. Google maps api v3 biểu tượng mặc định?
- 30. Trung tâm Google Maps (V3) trên trình duyệt in