Я пытаюсь добавить массив случайно размещенных маркеров на карту Google во Flash с помощью API V3 и AS3.
Я могу создать маркеры без проблем, но у меня возникли некоторые проблемы с помещением их в массив, а затем с их очисткой, поскольку мне нужно предоставить эту функцию.
Я видел другой пост, в котором люди говорили об отсутствии map.clearOverlays (); в V3? и мне нужна небольшая помощь, чтобы включить мой код.
Маркеры var: Array = new Array ();
function addmarkers()
{
// Add 10 markers to the map at random locations
var bounds:LatLngBounds = map.getLatLngBounds();
var southWest:LatLng = bounds.getSouthWest();
var northEast:LatLng = bounds.getNorthEast();
var lngSpan:Number = northEast.lng() - southWest.lng();
var latSpan:Number = northEast.lat() - southWest.lat();
for (var i:int = 0; i < 10; i++)
{
var newLat:Number = southWest.lat() + (latSpan * Math.random());
var newLng:Number = southWest.lng() + (lngSpan * Math.random());
var latlng:LatLng = new LatLng(newLat,newLng);
map.addOverlay(new Marker(latlng));
markers.push();
}
}
У меня есть кнопка, которая вызывает это, но мне также нужна кнопка, которая
2 ответа
Мой рабочий код с вашим включен, спасибо.
function dorandomPoints(e:MouseEvent):void
{
if (chkbox.selected)
{
var bounds:LatLngBounds = map.getLatLngBounds();
var southWest:LatLng = bounds.getSouthWest();
var northEast:LatLng = bounds.getNorthEast();
var lngSpan:Number = northEast.lng() - southWest.lng();
var latSpan:Number = northEast.lat() - southWest.lat();
for (var i:int = 0; i < 10; i++)
{
var newLat:Number = southWest.lat() + (latSpan * Math.random());
var newLng:Number = southWest.lng() + (lngSpan * Math.random());
var latlng:LatLng = new LatLng(newLat,newLng);
var marker:Marker = new Marker(latlng);
markerArray.push(marker);
map.addOverlay(markerArray[i]);
//map.removeOverlay(marker);
//trace(markerArray.length);
}
}
else
{
while (markerArray.length > 0)
{
var m:Marker = markerArray.shift() as Marker;
map.removeOverlay(m);
m = null;
}
}
}
Можете ли вы перебрать массив и вызвать map.removeOverlay () для каждого маркера?
function removeMarkers():void {
while(markers.length > 0) {
var m:Marker = markers.shift() as Marker;
map.removeOverlay(m);
m = null;
}
}
Похожие вопросы
Новые вопросы
flash
По вопросам о прекращенной кроссплатформенной среде выполнения мультимедиа Adobe, используемой для встраивания анимации, видео и интерактивных приложений в веб-страницы. По вопросам, связанным с памятью, используйте тег [flash-memory].