Я работал над приложением геокодирования .NET, которое в конце отображает карту Google (с использованием API v3) адреса или места.На карте есть маркер в центре, представляющий точку, которая геокодирована.Это все работает.Затем я хотел отобразить на карте наложение прямоугольника / многоугольника, которое представляет границы, окружающие точку, которая была геокодирована (это отражает точность геокодирования, причем большие границы представляют меньшую точность).(Я получаю координаты этих границ из запроса API).
Однако я просто не могу получить многоугольник или прямоугольник для отображения на карте, и это сводит меня с ума!Я следовал инструкциям в документации для полигонов , но не радуюсь.Я пробовал google.maps.Polygon
и google.maps.Rectangle
, но безуспешно.Я также пробовал разные широты и долготы для границ, но это не имело никакого значения.Ничего не показывает.Я, должно быть, совершаю фундаментальную ошибку, но не вижу в этих лесах деревьев!
Базовый код (который генерируется из C #) у меня выглядит так:
<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
if (window.attachEvent) {window.attachEvent('onload', initMap);}
else if (window.addEventListener) {window.addEventListener('load', initMap, false);}
else {document.addEventListener('load', initMap, false);}
function initMap() {
var latlng = new google.maps.LatLng(51.5001524,-0.1262362);
var myOptions = { zoom: 15, center: latlng, mapTypeId: google.maps.MapTypeId.ROADMAP };
var map = new google.maps.Map(document.getElementById('map_canvas'), myOptions);
var marker = new google.maps.Marker({
position: latlng, map: map, title:'Westminster, London, UK'
});
var boundCoords = [
new google.maps.LatLng(51.3493528),
new google.maps.LatLng(-0.378358),
new google.maps.LatLng(51.7040647),
new google.maps.LatLng(0.1502295),
];
var poly = new google.maps.Polygon({
paths: boundCoords, strokeColor: '#FF0000', strokeOpacity: 0.8,
strokeWeight: 3, fillColor: '#FF0000', fillOpacity: 0.35
});
poly.setMap(map);
console.log(poly);
}
</script>
<div id="map_canvas" style="width:640px; height:480px"></div>
Существует версия JSFiddle , доступная здесь , с которой можно играть.