Home > Flash > [Flash]Google Maps API for Flashで全画面地図表示

[Flash]Google Maps API for Flashで全画面地図表示

  • 2010-08-21 (土) 14:07
  • Flash

技術的に難しい話等では全くなく、ただGoogle Mapsを全画面表示してヌルヌル動かせたら気持ちいいじゃない、ということで作ってみました。Google Maps API for Flashを使用してFlashオブジェクト上にGoogle Mapsを表示し、Flash Player標準機能のフルスクリーンモードを使用するという魂胆です。

mapsample.png

google map を表示

個人的には19インチ以上のディスプレイで全画面表示して、地図を動かしまくるととても幸せになれます。それにしてもGoogle Mapsは地図のタイルごとにリクエストが走ってるようですが、これだけのリクエスト数をさばけるGoogleのサーバってつくづく次元が違うなと思います。

以下、サンプルコードです。


package

{

import com.google.maps.InfoWindowOptions;

import com.google.maps.LatLng;

import com.google.maps.Map;

import com.google.maps.MapEvent;

import com.google.maps.MapType;

import com.google.maps.overlays.Marker;

import com.google.maps.overlays.MarkerOptions;

 

import flash.display.Sprite;

import flash.display.StageAlign;

import flash.display.StageDisplayState;

import flash.display.StageScaleMode;

import flash.events.MouseEvent;

import flash.geom.Point;

 

 

public class GoogleMapSample extends Sprite

{

// 緯度経度 : 東京タワー

private static var LATLNG:LatLng = new LatLng( 35.658682,139.745407 );

// 倍率

private static const ZOOM:int = 16;

// マップオブジェクト

private var map:Map;

 

public function GoogleMapSample() {

// ステージ初期化

stage.scaleMode = StageScaleMode.NO_SCALE;

stage.align = StageAlign.TOP_LEFT;

 

map = this.createMap();

this.addChild(map);

 

stage.addEventListener(MouseEvent.CLICK, onClickHandler);

}

 

// マップオブジェクトの生成

private function createMap():Map {

var map:Map = new Map();

map.setSize(new Point( stage.stageWidth, stage.stageHeight));

map.addEventListener(MapEvent.MAP_READY, mapReadyHandler);

map.key = "ABQIAAAAiccmmCNILO3xd09xRuUlRBQTIuW28Ed72BnpVhdf4jwqbtfYRBRsXdvrvtm17NUylBfmCtX91DbTVQ"

return map;

}

 

private function mapReadyHandler( event:MapEvent ):void {

// マップオブジェクトのサイズの初期設定

map.setCenter(LATLNG, ZOOM, MapType.NORMAL_MAP_TYPE); // ノーマルモード

//map.setCenter(LATLNG, ZOOM, MapType.SATELLITE_MAP_TYPE); // 航空写真モード

 

// マウスホイール有効

map.enableScrollWheelZoom();

// 滑らかなズームを有効

map.enableContinuousZoom();

 

// マーカーの追加

var marker:Marker = new Marker(

LATLNG,

new MarkerOptions( {

radius: 12,

hasShadow: true

})

);

map.addOverlay(marker);

}

 

private function onClickHandler( event:Mouse
Event ):void {

// フルスクリーン化

if (stage.displayState != StageDisplayState.FULL_SCREEN) {

stage.displayState = StageDisplayState.FULL_SCREEN;

map.setSize(new Point( stage.stageWidth, stage.stageHeight));

}

}

}

}

Comments:0

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://blog.toshipon.com/2010/08/21/flashgoogle_maps_api_for_flash/trackback/
Listed below are links to weblogs that reference
[Flash]Google Maps API for Flashで全画面地図表示 from toshipon@sketch.book/blog

Home > Flash > [Flash]Google Maps API for Flashで全画面地図表示

Search
Feeds
Meta

Return to page top