3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

FlexでGoogleMapsを表示してみる

Posted at

Flexで地図を表示するためのライブラリModest Mapsを使って、試しにGoogleMapsのタイルを読み込んでみました。
Modest Mapsのソース及びSWCはこちらでダウンロードできます。
https://github.com/migurski/modestmaps-as3

※GoogleMapsのタイル画像に直接アクセスするのは規約違反になりますので、本サンプルを実際のプロジェクトで使うのはやめておきましょう。

1)ModestMapsを使ってOpenStreetMapを表示するサンプルがADCに公開されています。
http://www.adobe.com/devnet/flex/articles/interactive_maps.html
http://www.flexmappers.com/mymodestmap/
非常に分かりやすいサンプルなので、今回はこれをダウンロードしてきて地図タイルをGoogleに切り替えてみます。

2)以下のように、GoogleMapsのタイルを取得するためのクラスを作ります。

GoogleMapsProvider.as
package com.modestmaps.mapproviders
{ 
	import com.modestmaps.core.Coordinate;
	
	public class GoogleMapsProvider
		extends AbstractMapProvider
		implements IMapProvider
	{
	    public function GoogleMapsProvider(minZoom:int=MIN_ZOOM, maxZoom:int=MAX_ZOOM)
        {
            super(minZoom, maxZoom);
        }

	    public function toString() : String
	    {
	        return "GOOGLE_MAPS";
	    }
	
	    public function getTileUrls(coord:Coordinate):Array
	    {
	        var sourceCoord:Coordinate = sourceCoordinate(coord);
			return [ 'http://mt0.google.com/vt/lyrs=m@127&x='+(sourceCoord.column)+'&y='+(sourceCoord.row)+'&z='+(sourceCoord.zoom) ];
	    }
	    
	}
}

3)メイン画面にて、OpenStreetMapProviderを使っている箇所を先程のGoogleMapsProviderに差し替えます。

main.mxml
_map = new TweenMap(mappanel.width, mappanel.height, true, new GoogleMapsProvider());

たったこれだけでFlash上でGoogleMapsを表示できました。
modestmapswithgoogle.png

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?