package
{
import com.adobe.viewsource.ViewSource;
import com.yahoo.maps.api.YahooMap;
import com.yahoo.maps.api.YahooMapEvent;
import com.yahoo.maps.api.core.location.LatLon;
import com.yahoo.maps.api.markers.SearchMarker;
import com.yahoo.maps.webservices.local.LocalSearch;
import com.yahoo.maps.webservices.local.LocalSearchItem;
import com.yahoo.maps.webservices.local.LocalSearchResults;
import com.yahoo.maps.webservices.local.events.LocalSearchEvent;
import flash.display.Sprite;
public class YahooMap_LocalSearch extends Sprite
{
private var _yahooMap:YahooMap;
private var _localSearch:LocalSearch;
public function YahooMap_LocalSearch()
{
ViewSource.addMenuItem(this, "srcview/index.html", true);
this.stage.align = "topLeft";
this.stage.scaleMode = "noScale";
var appid:String = this.loaderInfo.parameters.appid;
_yahooMap = new YahooMap();
_yahooMap.addEventListener(YahooMapEvent.MAP_INITIALIZE, handleMapInitialize, false, 0, true);
_yahooMap.init(appid, this.stage.stageWidth, this.stage.stageHeight);
_yahooMap.addPanControl(); _yahooMap.addZoomWidget(); _yahooMap.addTypeWidget();
this.addChild(_yahooMap); }
private function handleMapInitialize(event:YahooMapEvent):void
{
_yahooMap.zoomLevel = 5; _yahooMap.centerLatLon = new LatLon(37.779160,-122.420049);
_localSearch = new LocalSearch();
_localSearch.addEventListener(LocalSearchEvent.SEARCH_SUCCESS, handleSearchSuccess);
_localSearch.searchLocal("Pizza", _yahooMap.zoomLevel, _yahooMap.centerLatLon, 25, 1, 25, "96926236" );
}
private function handleSearchSuccess(event:LocalSearchEvent):void
{
var searchResults:LocalSearchResults = event.data as LocalSearchResults;
var results:Array = searchResults.results;
var len:int = results.length;
for(var i:int=0; i<len; i++)
{
var item:LocalSearchItem = results[i];
var marker:SearchMarker = new SearchMarker(item);
_yahooMap.markerManager.addMarker(marker);
}
}
}
}