Google Map ile çalışmak için ilk öncelikle
http://maps.googleapis.com/maps/flash/release/sdk.zip
yukarıdaki liknkten sdk yı indirerek
http://code.google.com/intl/tr-TR/apis/maps/documentation/flash/tutorial-flash.html
yukarıdaki linkte anlatıldığı gibi component kurulumunu yapıyoruz. Daha sonra google hesap bilgilerimiz ile aşağıdaki linkten
http://code.google.com/intl/tr-TR/apis/maps/signup.html
api keyimizi alıyoruz. Bu işlemleri tamamladıktan sonra Flash’da component panelinden google map’i sahneye sürükleyip bırakıyoruz ve actionscript panelimizi açarak, aşağıdaki gibi çalışacağımız kütüphaneleri import ediyoruz
import com.google.maps.Map; import com.google.maps.LatLng; import com.google.maps.MapEvent; import com.google.maps.MapType; import com.google.maps.LatLngBounds; import com.google.maps.overlays.MarkerOptions; import com.google.maps.overlays.Marker; import flash.display.Stage;
Bu arada marker iconu olarak kullanacağımız PNG formatındaki grafikleri file>import>import to stage yoluyla sahnemize import ediyoruz. Daha sonra bu grafikleri tek tek seçerek F8 tuşuna basıyoruz. açılan pencerede “export for actionscript” kutusunu işaretleyerek class alanına ilgili iconun ismini yazıyoruz
Tüm iconlar için aynı işlemi tekrarlıyoruz. Daha sonra tüm ikonları ana sahneden silebiliriz. Sildiğimiz iconlar class olarak libraryde saklanacaktır. Şimdi enlem boylam değerlerimize göre haritamızın sınırlarını belirleyelim,
var lats:Array = new Array(37.4419,37.3243,37.5411,37.5551,37.3454,37.3411);//Enlemlervar lons:Array = new Array(-122.1419,-122.2215,-122.1545,-122.2954,-122.1432,-122.1665);//Boylamlar // Bounds var maxlat = Math.max.apply(null, lats); var maxlon = Math.max.apply(null, lons); var minlat = Math.min.apply(null, lats); var minlon = Math.min.apply(null, lons);
Ekleyeceğimiz marker tipleri,
//Marker tipleri, 6 tane marker ekliyoruz (p:pharmacy, h:hospital)
var markerType:Array = new Array("h","p","h","p","p","h");
Haritamızı tanımlayıp sahneye ekliyoruz,
var map:Map = new Map(); map.key = "api keyiniz"; map.setSize(new Point(stage.stageWidth,stage.stageHeight));//harita boyutlarını stage in boyutlarına eşitliyoruz map.x = 0; map.y = 0; map.addEventListener(MapEvent.MAP_READY, onMapReady); this.addChild(map);
marker ekleme fonksiyonumuz
function addMarker(i){
var markerOptions:MarkerOptions = new MarkerOptions({});
markerOptions.draggable = false;
markerOptions.hasShadow = false;
if(markerType[i]=="h"){
var newicon_h:hospital = new hospital();
addChild(newicon_h);
markerOptions.icon = newicon_h;
}else if(markerType[i]=="p"){
var newicon_p:pharmacy = new pharmacy();
addChild(newicon_p);
markerOptions.icon = newicon_p;
}
var point:LatLng = new LatLng(lats[i],lons[i]);
var markerLocal:Marker = new Marker(point, markerOptions);
map.addOverlay(markerLocal);
}
markerlarımızı haritaya ekliyoruz,
function onMapReady(event:Event):void{
var latLngBounds:LatLngBounds = new LatLngBounds(new LatLng(minlat,minlon), new LatLng(maxlat,maxlon));//sinirlari belirliyoruz
map.setCenter( latLngBounds.getCenter(), map.getBoundsZoomLevel(latLngBounds), MapType.NORMAL_MAP_TYPE);//sınırlara gore belirledigimiz zoom seviyesini bir azaltarak haritayi ortaliyoruz
for (var i=0; i < markerType.length; i++) {addMarker(i);}
}
Sonuç :





Son Yorumlar