C# 通过缩放级别显示坐标google maps
我有一个java脚本代码,其中我在页面加载上显示坐标。我想显示这些坐标,就像用户在15或更高的缩放级别上,而不是在页面加载中显示所有这些坐标。有可能解决这个问题吗?下面是我正在尝试但仍然没有找到正确的方法。 下面是我正在尝试但未完成的脚本C# 通过缩放级别显示坐标google maps,c#,asp.net,google-maps,C#,Asp.net,Google Maps,我有一个java脚本代码,其中我在页面加载上显示坐标。我想显示这些坐标,就像用户在15或更高的缩放级别上,而不是在页面加载中显示所有这些坐标。有可能解决这个问题吗?下面是我正在尝试但仍然没有找到正确的方法。 下面是我正在尝试但未完成的脚本 <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title>Maps</title> </head> &l
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>Maps</title>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?sensor=false"></script>
<script type="text/javascript">
var markers = [
<asp:Repeater Id="rptMarkers" runat="server">
<ItemTemplate>
{
"title": '<%# Eval("Title") %>',
"lat": '<%# Eval("Latitude") %>',
"lng": '<%# Eval("Longitude") %>',
"description": '<%# Eval("Description") %>'
}
</ItemTemplate>
<SeparatorTemplate>
,
</SeparatorTemplate>
</asp:Repeater>
];
</script>
<script type="text/javascript">
var map;
window.onload = function () {
var mapOptions = {
center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
zoom: 8,
mapTypeId: google.maps.MapTypeId.ROADMAP
};
var content='<div id="content" style="Width:150px;Height:40px"></div>'
var infoWindow = new google.maps.InfoWindow(
{
content:content,
width:80,
Height:80
});
map = new google.maps.Map(document.getElementById("Map"), mapOptions);
for (i = 0; i < markers.length; i++) {
var data = markers[i]
var myLatlng = new google.maps.LatLng(data.lat, data.lng);
var marker = new google.maps.Marker({
position: myLatlng,
map: map,
title: data.title
});
google.maps.event.addListener(map,"zoom_changed",function(){
if(map.getZoom()>15)
{
//this is where am hoping to display my coordinates
}
});
(function (marker, data) {
google.maps.event.addListener(marker, "click", function (e) {
infoWindow.setContent(data.description);
infoWindow.open(map, marker);
});
marker.setMap(map);
marker.setAnimation(google.maps.Animation.DROP)
})(marker, data);
}
}
</script>
`enter code here` <br />
<div id="Map" style="width: 1050px; margin-left: 90px; height: 800px">
</div>
</form>
</body>
</html>
地图
变量标记=[
{
“标题”:“,
“lat”:“,
“液化天然气”:“,
“说明”:“
}
,
];
var映射;
window.onload=函数(){
变量映射选项={
中心:新建google.maps.LatLng(标记[0].lat,标记[0].lng),
缩放:8,
mapTypeId:google.maps.mapTypeId.ROADMAP
};
变量内容=“”
var infoWindow=new google.maps.infoWindow(
{
内容:内容,,
宽度:80,
身高:80
});
map=new google.maps.map(document.getElementById(“map”)、mapOptions);
对于(i=0;i15)
{
//这就是我希望显示坐标的地方
}
});
(功能(标记、数据){
google.maps.event.addListener(标记“单击”,函数(e){
infoWindow.setContent(data.description);
信息窗口。打开(地图、标记);
});
marker.setMap(map);
marker.setAnimation(google.maps.Animation.DROP)
})(标记、数据);
}
}
`在此处输入代码“
如果每个标记在当前缩放级别可见,您可以轻松检查它们
var markers; // your markerarray
var map; // your map
for (var i=0; i<markers.length; i++){
if( map.getBounds().contains(markers[i].getPosition()) ){
// only load markers which are currently visible in this zoom level
}
}
var标记;//你的Markerary
变量映射;//你的地图
对于(var i=0;iSo)您想显示适合当前缩放级别的坐标(您是指POI?)吗?我使用了该代码的示例,仅显示了一个坐标,其余的坐标不可见,尽管距离较近。我哪里会出错?这是我从您以前的soln中尝试的代码(var i=0;iSo如果缩小只有一个标记?您的markerArray包含多个LatLng位置?您在第一篇文章中的代码仍然是实际的吗?因此,您在开始时加载所有标记,如果缩放到级别>15,您希望显示新的POI?或删除POI,它们在缩放级别之外?是的,在页面加载中,我正在加载所有坐标标记数组,但这是不可取的,因为显示所有坐标需要更多的时间。相反,在页面加载时,如果我可以绑定用户缩放级别坐标,这将非常有帮助。我仍然希望在当前缩放级别加载POI现在有什么问题?如果加载页面,所有标记都存在?如果缩放到特定级别是否只有一个标记?或没有标记?您需要使用:marker[i].setMap(null)删除当前视口中不可见的所有标记