2011-05-13 2 views
0

(플래시 사용) Google지도에 표시하려는 Sprite 객체가 있습니다. 그래서 Sprite 객체를 사용하여 GroundOverlay 객체를 만들었지 만 표시되지 않습니다. 나는 Sprite가 DisplayObject보다 더 높은 클래스라고 생각합니다. (GroundOverlay는 DisplayObject만을 얻는 것처럼 보입니다.)? GroundOverlay에 대해 Sprite를 사용할 수 있습니까? 또는 대체 아이디어?Google지도의 Groundoverlay에 Sprite를 사용할 수 있습니까?

답변

0

나는이 웹 사이트에서이 코드를 얻을, 나는 정확한 링크를 기억하지 않습니다하지만 당신은 시도 할 수 있습니다, 그것은 거의 당신이 원하는 무엇을 ...

package 

{ 수입 flash.display의. ; import flash.geom.; import com.google.maps. *;

public class sample extends Sprite 
{ 
       private var polyLayer:Sprite = new Sprite(); 
       private var mapLayer:Sprite = new Sprite(); 
       private var map:Map = new Map(); 
       private var center:LatLng = new LatLng(36.469889,-93.949641); 

       private var state:String = "39.108751,-94.586848 35.160337,-90.049495 35.474091,-97.520198"; 

       public function sample() 
       { 
           addChild(mapLayer); 
           addChild(polyLayer); 
           map.key = "*** HERE YOUR API KEY ***"; 
           map.sensor = 'false'; 
           map.setSize(new Point(800, 600)); 
           map.addEventListener(MapEvent.MAP_READY, function(event:MapEvent) { 
               map.enableScrollWheelZoom(); 
               map.setMapType(MapType.NORMAL_MAP_TYPE); 
               map.setCenter(center, 6); 
               redrawPolygons(); 
           }); 

           map.addEventListener(MapZoomEvent.ZOOM_CHANGED, function(event:MapZoomEvent) { 
               redrawPolygons(); 
           }); 

           map.addEventListener(MapMouseEvent.DRAG_STEP, function(event:MapMouseEvent) { 
               redrawPolygons(); 
           }); 

           mapLayer.addChild(map); 
       } 


       private function redrawPolygons():void 
       { 
           polyLayer.graphics.clear(); 
           polyLayer.graphics.lineStyle(1,0x000000,0.8); 
           polyLayer.graphics.beginFill(0xFF0000,0.5); 
           var coo:Array = state.split(" "); 
           for (var g=0; g<coo.length; g++) { 
               var latlon:LatLng = LatLng.fromUrlValue(coo[g]); 
               if (g==0) 
                polyLayer.graphics.moveTo(map.fromLatLngToViewport(latlon).x, map.fromLatLngToViewport(latlon).y); 
               else 
                polyLayer.graphics.lineTo(map.fromLatLngToViewport(latlon).x, map.fromLatLngToViewport(latlon).y); 
           } 

           polyLayer.graphics.endFill(); 
       } 
} 

}

+0

내가 너무 바보했다가 ... 내 스프라이트가 표시되지 않는 이유는 범위를 벗어난 위도와 경도 값 때문 :( –

관련 문제