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
来实现这一点,在“其他”部分中记录任何内容,以查看其是否正常。请提供一份说明您的问题的报告。我怀疑是否需要地理定位(除非问题是它不起作用)。