private function geocoderSearchAutoCompleteEventHandler(event:GeocoderEvent):void { //check to make sure there are results if (event.results.length > 0) { //clear the graphics layer before add more graphicsLayer.clear(); for(var i:int = 0; i < event.results.length; i++) { var geocoderResultsGraphic:Graphic = new Graphic(); geocoderResultsGraphic.id = "graphicResults"; geocoderResultsGraphic.geometry = event.results.geometry; geocoderResultsGraphic.toolTip = event.results.label.toString(); geocoderResultsGraphic.symbol = mySymbol; //don't use default graphicsLayer.add(geocoderResultsGraphic); } } }
<esri:Geocoder autoComplete="true" url="url here" id="geoCoderID" map="{myMap}"/> protected function application1_creationCompleteHandler(event:FlexEvent):void { geoLO.searchExtent = myMap.extent; geoCoderID.locatorOptions = geoLO; geoCoderID.locatorOptions.outFields = [ "Loc_name" , "Ref_ID" ]; geoCoderID.addEventListener(GeocoderEvent.RESULT_SELECTED,geocoderResultSelected); geoCoderID.addEventListener(GeocoderEvent.SEARCH_AUTO_COMPLETE,geocoderSearchAutoCompleteEventHandler); geoCoderID.addEventListener(GeocoderEvent.SEARCH_COMPLETE, geocoderResultsEvent); } private function geocoderSearchAutoCompleteEventHandler(event:GeocoderEvent):void { var geocoderResultsGraphic:Graphic = new Graphic(); geocoderResultsGraphic.id = "graphicResults"; geocoderResultsGraphic.symbol = geocoderResultSymbol; for(var i:int = 1; i<event.results.length; i++) { geocoderResultsGraphic.geometry = event.results[0].geometry; geocoderResultsGraphic.toolTip = event.results[0].label.toString(); myMap.defaultGraphicsLayer.add(geocoderResultsGraphic); } } //The below function works as intended private function geocoderResultSelected(event:GeocoderEvent):void { landmarkPointX = event.result.data.location.x; landmarkPointY = event.result.data.location.y; landmarkMapPoint = new MapPoint(landmarkPointX,landmarkPointY,null); identifyMapPoint = new MapPoint(landmarkPointX,landmarkPointY,null); myMap.defaultGraphicsLayer.clear(); if(event.result.data.attributes.Loc_name == "LandmarkCom.ELandmarkAll" || event.result.data.attributes.Loc_name == "LandmarkCom.ELandmarkName") { queryLandmarks.where = "OBJECTID="+ event.result.data.attributes.Ref_ID; queryTaskLandmarks.execute(queryLandmarks, new AsyncResponder(catchLandmarkGeocoderDetails, onURLLoadFault )); } else if(event.result.data.attributes.Loc_name == "BuildingCom.EBuildingAll" || event.result.data.attributes.Loc_name == "BuildingCom.EBuildingArea" || event.result.data.attributes.Loc_name == "BuildingCom.EBuildingNumber") { queryBuildingURL.where = "OBJECTID="+ event.result.data.attributes.Ref_ID; queryTaskBuildingURL.execute(queryBuildingURL, new AsyncResponder( onBuildingURLResults, onURLLoadFault )); } else if(event.result.data.attributes.Loc_name == "StreetCom.EStreetAll" || event.result.data.attributes.Loc_name == "StreetCom.EStreetName") { queryStreetURL.where = "OBJECTID="+ event.result.data.attributes.Ref_ID; queryTaskStreetURL.execute(queryStreetURL, new AsyncResponder( onStreetURLResults, onURLLoadFault )); } geoCoderID.clearButton.addEventListener(MouseEvent.CLICK,clearGeocoderGraphic); myMap.scale = 5000; var geocoderGraphic:Graphic = new Graphic(); geocoderGraphic.geometry = event.result.geometry; geocoderGraphic.symbol = geocoderResultSymbol; geocoderGraphic.toolTip = event.result.label.toString(); geocoderGraphic.id = "graphic"; myMap.defaultGraphicsLayer.add(geocoderGraphic); }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.