지도를 클릭하면 마커를 가장 가까운 거리에 스냅하려고합니다. 좋은 예가 여기에 있습니다 : http://econym.org.uk/gmap/example_snappath.htm (메인 페이지 : http://econym.org.uk/gmap/snap.htm). 그러나이 예는 Google지도 버전 2 용입니다. v3에서이 작업을 수행 할 수있는 방법이 있습니까?Google지도 V3가 가장 가까운 거리에 스냅
14
A
답변
16
주어진 예제는 방향 검색을 수행 한 다음 첫 번째 위치를 가져 와서 결과를 얻습니다. 그것은 아주 좋은 작동 Revolution42 API v3에서이 "지도는"
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
많은 감사 맵의 이름입니다 다음 코드를 사용하여 수행됩니다
<!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>