AFComponents.com

Simple KML Navigator
Updated: Jul 17, 2007   Views: 8828  
Description: Simple application that allows user to navigate through a kml file by using next and previous buttons.
Download source files

 

Code used in the example above.

var layer = gMap.addKMLLayer({path:"http://www.afcomponents.com/components/g_map/Olympic_Host_Cities.kml"});

var geomCount:Number=0;
var geomSelected:Number=-1;
var geomArray:Array = new Array();

function onGeometryAdded(event:Object){
  geomArray.push(event.target.getGeometryObjects()[geomCount]);
  geomCount++;
}
// Add event listener to a layer
layer.addEventListener("LAYER_GEOMETRY_ADDED", onGeometryAdded);


// Assign event listener to the "Prev" button

controls_mc.prev_btn.addEventListener("click", onPrevButtonClick);

function onNextButtonClick(){
  if((geomSelected+1) < geomArray.length){
    geomSelected+=1;
    geomArray[geomSelected].openInfoWindow();
    gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
    displaySelectedTitle(geomArray[geomSelected].name);
    displayCount();
  }
}


// Assign event listener to the "Next" button

controls_mc.next_btn.addEventListener("click", onNextButtonClick);

function onPrevButtonClick(){
  if(geomSelected > 0){
    geomSelected-=1;
    geomArray[geomSelected].openInfoWindow();
    gMap.setCenter({lat:geomArray[geomSelected].lat, lng:geomArray[geomSelected].lng});
    displaySelectedTitle(geomArray[geomSelected].name);
    displayCount();
  }
}


function displaySelectedTitle(title:String){
  controls_mc.selected_txt.text = title;
}


function displayCount(){
  controls_mc.count_txt.text = (geomSelected+1)+" of "+geomArray.length;
}


//Stage Settings

Stage.scaleMode = "noScale";
Stage.align = "TL";

gMap.setSize(Stage.width, Stage.height);
controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
controls_mc._y = Math.round(Stage.height-100);

function onResize(){
  gMap.setSize(Stage.width, Stage.height);
  controls_mc._x = Math.round(Stage.width/2 - controls_mc._width /2);
  controls_mc._y = Math.round(Stage.height-100);
}
Stage.addListener(this);


That is about it. For a complete list component's methods and events please see API Documentation. If you have any questions please post them on our forum.


© 2005-2007 advanced flash components