【问题标题】:How to mark a special place on google map api on google initial load如何在谷歌初始加载时在谷歌地图api上标记一个特殊的地方
【发布时间】:2016-10-15 23:46:26
【问题描述】:

我正在尝试从用户那里获取一个地名,并在初始地图加载时将其标记在谷歌地图上。所以我要做的是使用来自另一个页面的会话获取地名和缩放值,并将其放置在地图属性中。缩放部分工作正常,但标记部分不起作用,我已经做了很多工作并尝试了不同的东西,但这是我最新版本的代码,它在地图上显示没有标记,并且没有错误好吧。

这是我的代码:

 var infowindow = new google.maps.InfoWindow();
    var service = new google.maps.places.PlacesService(map);

var myStyles =[
    {
        featureType: "poi",
        elementType: "labels",
        stylers: [
              { visibility: "off" }
        ]
    }
]; 

    function initialize() {

        var zm = <%= Session["value2"]%>;
        var ft= '<%= Request.QueryString["value"] %>';



        navigator.geolocation.getCurrentPosition(function (position) {
            var latlng2 = new google.maps.LatLng(position.coords.latitude, position.coords.longitude);

                map = new google.maps.Map(document.getElementById('map'), {

                    center: latlng2,
                    zoom: zm,
                    styles: myStyles
                });

                var request2 = {
                    location: latlng2,
                    radius: 2000,
                    types: [ft]
                };
                service.nearbySearch(request2, callback);
            });
}


            function callback(results, status) {

                if (status == google.maps.places.PlacesServiceStatus.OK) {
                    for (var i = 0; i < results.length; i++) {

                        createMarker(results[i],icon);

                    }
                }
            }


            function createMarker(place,icon) {
                var placeLoc = place.geometry.location;
                var marker = new google.maps.Marker({
                    map: map,
                    position: place.geometry.location,
                    icon: icon,
                    visible:true  

                });




                markersArray.push(marker);
                google.maps.event.addListener(marker, 'click', function() {
                    infowindow.setContent("<b>Name:</b>"+place.name+"<br><b>Address:</b>"+place.vicinity);
                    infowindow.open(map, this);
                });

            }

如果你能帮助我,我将非常感激。

【问题讨论】:

  • 请提供一个minimal reproducible example 来证明您的问题。我怀疑地理定位是必需的(除非问题是它不起作用)。

标签: javascript google-maps google-maps-api-3 google-places-api google-places


【解决方案1】:

控制台清楚地说:

TypeError: service.nearbysearch is not a function

函数实际上是nearbySearch,而不是nearbysearch GOOGLE MAPS API DOCUMENTAION

【讨论】:

  • 修复它,错误消失了,但仍然没有标记任何地方。
  • 尝试测试您的回拨状态是否为OK,您可以通过为您的if control 设置一个else 来做到这一点,在其他部分记录任何内容以查看它是否不是@987654328 @
猜你喜欢
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-10
  • 2015-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多