【发布时间】:2016-02-07 21:54:27
【问题描述】:
我在“我的地图”中有一个自定义的 Google 地图,它有多个多边形来反映不同的路线接送区域(例如周一上车区域、周二上车区域等),基本上我想要做的是找出特定的多边形地址落入。这样我就可以通过单击按钮确定新用户所属的路线日期,而不必复制地址、转到地图、粘贴、点击搜索并查看它所在的多边形。
我对 Google 地图完全陌生,完全不熟悉它的 API 或 KML/KMZ 文件。我看到我可以导出一个自我更新的 KML 或 KMZ 文件,所以也许我可以将它存储在服务器上,然后让程序使用它来找出多边形地址所在,但我不知道如何使用 c# 或我需要使用 javascript,如果需要,我该怎么做?或者有没有办法我可以通过 GET 或其他方式直接查询谷歌?
更新 使用以下代码,我已经能够加载谷歌提供的网络链接 kml 文件。现在我想知道如何通过单击按钮从加载的 kml 中找到输入的地址所在的多边形图层。我将继续尝试更新我找到的内容。
<!DOCTYPE html>
<html>
<head>
<script
src="http://maps.googleapis.com/maps/api/js">
</script>
<script>
function initMap() {
var map = new google.maps.Map(document.getElementById('googleMap'), {
zoom: 11,
center: {lat: 39.10342, lng: -76.87271}
});
var kmlLayer = new google.maps.KmlLayer();
var kmlUrl = 'http://xxxxxxxxxxx.com/crew/map/test.kml';
var kmlOptions = {
suppressInfoWindows: true,
preserveViewport: false,
map: map
};
var kmlLayer = new google.maps.KmlLayer(kmlUrl, kmlOptions);
}
google.maps.event.addDomListener(window, 'load', initMap);
</script>
</head>
<body>
<div id="googleMap" style="width:600px;height:450px;"></div>
</body>
</html>
【问题讨论】:
标签: c# google-maps polygon kml kmz