Искам да добавя изображение на точните координати, дадени от GPS-а.
Успях да го направя, но всеки път, когато координатите се актуализират, се добавя ново изображение (и просто не се актуализират координатите на текущото изображение).
Ето какво направих:
if (Geolocation.isSupported){
my_geo.addEventListener(GeolocationEvent.UPDATE, onGeoUpdate);
}
function onGeoUpdate(e:GeolocationEvent):void{
trace("OngeoUpdate");
[Embed (source="rond3.png")]
var rondImg:Class;
my_geo.removeEventListener(GeolocationEvent.UPDATE, onGeoUpdate);
var myIcon:MapIcon = new MapIcon();
myIcon.setImage(new rondImg());
embeddedIconPoi = new Poi(new LatLng(e.latitude, e.longitude));
embeddedIconPoi.rolloverAndInfoTitleText = "You're here";
embeddedIconPoi.icon = myIcon;
rondColl.add(embeddedIconPoi);
myMap.addShapeCollection(rondColl);
}
Предполагам, че е така, защото поставих моята променлива във функцията onGeoUpdate, така че всеки път, когато се извика, тя създава нова POI.
Така че опитах това:
if (Geolocation.isSupported){
my_geo.addEventListener(GeolocationEvent.UPDATE, onGeoUpdate);
[Embed (source="rond3.png")]
var rondImg:Class;
var myIcon:MapIcon = new MapIcon();
rondColl.add(embeddedIconPoi);
myIcon.setImage(new rondImg());
embeddedIconPoi = new Poi(new LatLng());
embeddedIconPoi.rolloverAndInfoTitleText = "You're here";
embeddedIconPoi.icon = myIcon;
myMap.addShapeCollection(rondColl);
}
function onGeoUpdate(e:GeolocationEvent):void{
trace("OngeoUpdate");
Poi(new LatLng(e.latitude, e.longitude))
}
но не работи (Грешка #1034: Type Coercion failed: could convert com.mapquest::LatLng@916bfd1 в com.mapquest.tilemap.pois.Poi.)
знаеш ли какво не е наред
РЕДАКТИРАНЕ
Ето какво съм импортирал в моя код:
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.display.StageScaleMode;
import com.mapquest.tilemap.*;
import com.mapquest.LatLng;
import com.mapquest.tilemap.pois.*;
import com.mapquest.tilemap.overlays.*;
import com.mapquest.tilemap.pois.Poi;
import com.mapquest.tilemap.pois.MapIcon;
import flash.sensors.Geolocation;
import flash.events.GeolocationEvent;
import com.mapquest.tilemap.pois.PoiEvent;
import com.mapquest.tilemap.pois.Poi;
import com.mapquest.services.directions.Directions;
import com.mapquest.services.directions.DirectionsConstants;
import com.mapquest.services.directions.DirectionsEvent;
import com.mapquest.services.geocode.Geocoder;
import com.mapquest.services.geocode.*;
import com.mapquest.services.geocode.GeocoderEvent;
import com.mapquest.services.geocode.GeocoderLocation;
import com.mapquest.tilemap.Size;
import flash.display.Bitmap;
import com.mapquest.tilemap.TileMap;
import com.mapquest.tilemap.controls.inputdevice.MouseWheelZoomControl;
import com.mapquest.tilemap.controls.shadymeadow.SMLargeZoomControl;
import com.mapquest.tilemap.controls.shadymeadow.SMViewControl;