Javascript 如何在google初始加载时在google map api上标记特殊位置

Javascript 如何在google初始加载时在google map api上标记特殊位置,javascript,google-maps,google-maps-api-3,google-places-api,google-places,Javascript,Google Maps,Google Maps Api 3,Google Places Api,Google Places,我正在尝试从用户那里获取一个地名,并在初始地图加载时将其标记在谷歌地图上。所以我要做的是使用另一个页面中的会话获取地名和缩放值,并将其放置在地图属性中。缩放部分工作正常,但标记部分不工作,我对它做了很多工作并尝试了不同的事情,但这是我的最新版本的代码,它在地图上没有显示标记,也没有错误 这是我的代码: var infowindow = new google.maps.InfoWindow(); var service = new google.maps.places.PlacesSer

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

这是我的代码:

 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);
                });

            }
var infowindow=new google.maps.infowindow();
var service=newgoogle.maps.places.PlacesService(地图);
我的风格=[
{
特征类型:“poi”,
elementType:“标签”,
样式:[
{可见性:“关闭”}
]
}
]; 
函数初始化(){
var-zm=;
var-ft='';
navigator.geolocation.getCurrentPosition(函数(位置){
var latlng2=新的google.maps.LatLng(position.coords.latitude,position.coords.longitude);
map=new google.maps.map(document.getElementById('map'){
中心:latlng2,
zoom:zm,
风格:myStyles
});
变量请求2={
地点:latlng2,
半径:2000,
类型:[ft]
};
服务.nearbySearch(请求2,回调);
});
}
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i地址:“+place.neighborary”);
打开(地图,这个);
});
}

如果您能帮助我,我将不胜感激。

控制台上清楚地显示:

TypeError: service.nearbysearch is not a function

该函数实际上是
nearbySearch
而不是
nearbySearch
根据
googlemapsapi文档

修复了它,错误消失了,但仍然没有标记任何位置。尝试测试您的回拨状态是否为
OK
,您可以通过为
if控件设置
else
来实现这一点,在“其他”部分中记录任何内容,以查看其是否正常。请提供一份说明您的问题的报告。我怀疑是否需要地理定位(除非问题是它不起作用)。