【问题标题】:find google map places with name from coordinates that is points in map从坐标中查找名称为地图中点的谷歌地图地点
【发布时间】:2015-06-30 12:07:37
【问题描述】:

我使用来自我的数据库的坐标创建我的谷歌地图。 在我的表中,我有坐标,我在我的 asp.net 页面中用谷歌指针指向这些坐标。但现在我想用城市名称搜索,我在我的数据库中有搜索名称的坐标,并在谷歌地图中用颜色突出显示 我有以下代码来获取我的数据库坐标:

<script type="text/javascript">
        var markers = [
        <asp:Repeater ID="rptMarkers" runat="server">
        <ItemTemplate>
                 {
                     <%--''<%# GetImageFromByte(DataBinder.Eval(Container.DataItem, "Image")) %>' '--%>
                     "title":"Survey",
                     <%--   "title": '<%# Eval("Name") %>',--%>
                     "lat": '<%# Eval("lat") %>',
                     "lng": '<%# Eval("Long") %>',
                     "description": "<div> <img src='' alt='Alternate Text1' /></div>",
                     "image": "<div> <img src='<%#Eval("photo")%>' width='150px' alt='Picture not available for this survey' /></div>",
                     "Name":'<%# Eval("Name")%>',
                     "PhoneNumber":'<%# Eval("PhoneNumber")%>'
                 }
    </ItemTemplate>
    <SeparatorTemplate>
        ,
    </SeparatorTemplate>
    </asp:Repeater>
    ];
    </script>
    <script type="text/javascript">

        window.onload = function () {
            var mapOptions = {
                center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
                zoom: 8,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var infoWindow = new google.maps.InfoWindow();
            var map = new google.maps.Map(document.getElementById("dvMap"), 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
                });
                (function (marker, data) {
                    google.maps.event.addListener(marker, "click", function (e) {
                        infoWindow.setContent(data.description+data.image+data.Name+ 
                           '<br/>'+ data.PhoneNumber);

                        infoWindow.open(map, marker);
                    });
                })(marker, data);
            }
        }
</script>

【问题讨论】:

    标签: javascript c# asp.net google-maps


    【解决方案1】:

    要解决此问题,首先您必须检查标记当前是否存在于地图上。使用以下方法可以知道被搜索的城市是否有地图上的经纬度。

    如果地图上存在被搜索城市的coordinates,则此方法将返回true,否则将返回false

    map.getBounds().contains(marker.getPosition());
    

    一旦它返回 true,你就可以给它分配一些颜色。

    希望有帮助!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-17
      • 2017-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多