Javascript 从Google API placesSearch获取标记总数
在fiddle示例中,如何获得地图上显示的标记总数?我将每个标记推入一个数组,如下所示:Javascript 从Google API placesSearch获取标记总数,javascript,google-maps,google-maps-api-3,Javascript,Google Maps,Google Maps Api 3,在fiddle示例中,如何获得地图上显示的标记总数?我将每个标记推入一个数组,如下所示: markers.push(marker) $('.marker-count span').html(markers.length); 并尝试获得如下标记的总数: markers.push(marker) $('.marker-count span').html(markers.length); 不幸的是,“markers.length”返回0,而它应该至少返回3。 我这里有示例代码: 如何显示标记的
markers.push(marker)
$('.marker-count span').html(markers.length);
并尝试获得如下标记的总数:
markers.push(marker)
$('.marker-count span').html(markers.length);
不幸的是,“markers.length”返回0,而它应该至少返回3。
我这里有示例代码:
如何显示标记的总数?无法将每个标记添加到我的数组中吗
我需要知道显示的标记数量,以便在没有标记时提醒用户
谢谢
如果您不想在jsfiddle.net上查看代码,请参见:
var map, places, tmpLatLng, markers = [];
var pos = new google.maps.LatLng(51.5033630,-0.1276250);
var mapOptions = {
zoom: 8,
center: new google.maps.LatLng(51.5033630,-0.1276250)
};
map = new google.maps.Map(document.getElementById('map-canvas'),
mapOptions);
// create the map and reference the div#map-canvas container
var markerBounds = new google.maps.LatLngBounds();
var service = new google.maps.places.PlacesService(map);
// fetch the existing places (ajax)
// and put them on the map
var request = {
location: pos,
radius: 48000, // Max radius
name: "mc donalds"
};
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
$('#map-canvas').attr("data-markers",results.length);
$('.marker-count span').html(markers.length);
} else {
console.log("Places request failed: "+status);
}
} // end callback
function createMarker(place) {
var prequest = {
reference: place.reference
};
var tmpLatLng = place.geometry.location;
var marker = new google.maps.Marker({
map: map,
position: place.geometry.location
});
markers.push(marker);
markerBounds.extend( tmpLatLng );
} // end createMarker
service.nearbySearch(request, callback);
var映射、位置、tmpLatLng、标记=[];
var pos=新的google.maps.LatLng(51.5033630,-0.1276250);
变量映射选项={
缩放:8,
中心:新google.maps.LatLng(51.5033630,-0.1276250)
};
map=new google.maps.map(document.getElementById('map-canvas'),
地图选项);
//创建映射并引用div#map canvas容器
var markerBounds=new google.maps.LatLngBounds();
var service=newgoogle.maps.places.PlacesService(地图);
//获取现有位置(ajax)
//把它们放在地图上
var请求={
地点:pos,,
半径:48000,//最大半径
名称:“mc donalds”
};
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
运行代码时,placesearch调用是异步的:
$('.marker-count span').html(markers.length);
结果尚未从服务器返回。更新标记数组后,需要在回调中执行此操作
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
$('#map-canvas').attr("data-markers",results.length);
$('.marker-count span').html(markers.length);
} else {
console.log("Places request failed: "+status);
}
} // end callback
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
运行代码时,placesearch调用是异步的:
$('.marker-count span').html(markers.length);
结果尚未从服务器返回。更新标记数组后,需要在回调中执行此操作
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
$('#map-canvas').attr("data-markers",results.length);
$('.marker-count span').html(markers.length);
} else {
console.log("Places request failed: "+status);
}
} // end callback
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
运行代码时,placesearch调用是异步的:
$('.marker-count span').html(markers.length);
结果尚未从服务器返回。更新标记数组后,需要在回调中执行此操作
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
$('#map-canvas').attr("data-markers",results.length);
$('.marker-count span').html(markers.length);
} else {
console.log("Places request failed: "+status);
}
} // end callback
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
运行代码时,placesearch调用是异步的:
$('.marker-count span').html(markers.length);
结果尚未从服务器返回。更新标记数组后,需要在回调中执行此操作
function callback(results, status) {
if (status == google.maps.places.PlacesServiceStatus.OK) {
for (var i = 0; i < results.length; i++) {
createMarker(results[i]);
}
$('#map-canvas').attr("data-markers",results.length);
$('.marker-count span').html(markers.length);
} else {
console.log("Places request failed: "+status);
}
} // end callback
函数回调(结果、状态){
if(status==google.maps.places.PlacesServiceStatus.OK){
对于(var i=0;i
请在问题本身中发布相关代码,而不仅仅是一个小提琴的链接。请在问题本身中发布相关代码,而不仅仅是一个小提琴的链接。请在问题本身中发布相关代码,而不仅仅是一个小提琴的链接。请在问题本身中发布相关代码,而不仅仅是一个小提琴的链接。