Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 通过缩放级别显示坐标google maps_C#_Asp.net_Google Maps - Fatal编程技术网

C# 通过缩放级别显示坐标google maps

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

我有一个java脚本代码,其中我在页面加载上显示坐标。我想显示这些坐标,就像用户在15或更高的缩放级别上,而不是在页面加载中显示所有这些坐标。有可能解决这个问题吗?下面是我正在尝试但仍然没有找到正确的方法。 下面是我正在尝试但未完成的脚本

<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)删除当前视口中不可见的所有标记