Я преобразовал несколько шейп-файлов в KML, используя программное обеспечение Shp2kml2 от Zonums Solutions. Я сделал карту с уровнями KML (из которых я импортировал документы Google для получения URL-адреса). Моя карта находится по адресу: http://userpages.flemingc.on.ca/~catam/collab2.htmlgoogle maps - неправильная информация всплывающего окна
у меня есть: 6 полигонов KML слоев, 1 пункт KML слой, 1 Google Fusion точка Таблица слой
Но когда я пытаюсь нажать на определенную точку, поп - информация о том, что многоугольник, который находится в том же месте, что и конкретная точка.
Мой код:
var map, layer2;
function initialize() {
var ontario = new google.maps.LatLng(49.2867873, -84.7493416);
var mapOptions = {
zoom: 5,
center: ontario
}
var infoWindow = new google.maps.InfoWindow();
var openInfoWindow = function (KMLevent) {
infoWindow.close();
infoWindow.setOptions(
{
content: KMLevent.featureData.infoWindowHtml,
position: KMLevent.latLng,
pixelOffset: KMLevent.pixelOffset
});
infoWindow.open(map);
};
var map = new google.maps.Map(document.getElementById('map-canvas'), mapOptions);
var kmlOptions = {
suppressInfoWindows: true, // do not to display an info window when clicked
preserveViewport: false,
map: map
};
var urls = [
'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkajc2OGZTZDZBV0k&export=download', // SCHOOLS, NDP, LIBERAL, PC1, PC2, PC3,
'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkQzRSdVB1TVRseU0&export=download', 'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkWFlscVM5N01lSDQ&export=download', 'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkbHNSTjhCN1dLQTg&export=download', 'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkdnRoYnN1bnpubEU&export=download', 'https://docs.google.com/uc?authuser=0&id=0B79b02nBK5vkaHg1WlNKdU1VWHc&export=download'
];
layer2 = new google.maps.FusionTablesLayer({
query: {
select: 'col9',
from: '1FzRSqRcxY37i7VtejqONHhAB-MrzFhakYSvZaIvo'
}
});
layer2.setMap(map);
urls.forEach(function(url) {
var layer = new google.maps.KmlLayer(url, kmlOptions);
layer.setMap(map);
KmlLayer.setZIndex(999);
google.maps.event.addListener(layer, "click", openInfoWindow);
});
}
//initialize();
google.maps.event.addDomListener(window, 'load', initialize);
У меня возникают проблемы, зная, куда вставить код в свой код. Я опубликовал свой пост, чтобы показать свой код. Чтобы уточнить, у меня есть: 5 слоев многоугольника KML, 1-слойный слой KML, 1 слой точек таблицы Google Fusion – Toronto23
Привет, я обновил ответ. Попробуйте изменить положение URL-адреса. Дайте мне знать, если это не сработает. – Joyson
Он работал для слоя уровня KML (школы). Однако мой точечный слой из таблицы google google теперь не отображается на карте. – Toronto23