‘GoogleMaps’ カテゴリーのアーカイブ

Android: metersToEquatorPixelsが便利

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

GoogleMapを使ったアプリを開発中なのだけれども、指定地点から円を描きたいな〜と思っていた。円を描くこと自体は、CircleOverlayクラスを作って書けたのだけれども、問題は半径である。ピクセルで指定しなければならない。でも、ZoomLevelによって縮尺は変わるので、一体1ピクセルが何メートルなのかをどうやって出せばいいのだろうかと考えていたのだが、ふと同僚が持っているAndroidプログラミング入門を見たら、いちいち計算しなくてもメソッド一発で取得できることがわかった!1時間半も悩んだのに〜!!

private class CircleOverlay extends Overlay {
	private GeoPoint mPoint;

	public CircleOverlay(GeoPoint point){
		mPoint = point;
	}

	@Override
	public void draw(Canvas canvas, MapView mapView, boolean shadow) {
		super.draw(canvas, mapView, shadow);
		if (!shadow) {
			Projection projection = mapView.getProjection();
			Point point = new Point();
			projection.toPixels(mPoint, point);

			float pixels = projection.metersToEquatorPixels(10000);

			Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
			paint.setColor(Color.RED);
			paint.setAlpha(80);
			canvas.drawCircle(point.x, point.y, pixels, paint);
		}
	}

	@Override
	public boolean onTap(GeoPoint point, MapView mapView) {
		mPoint = point;
		return super.onTap(point, mapView);
	}
}

ズームしたら自動的に半径のサイズも変わってくれたのを確認。
すごく便利じゃないか!!


GoogleMapsでの最短経路検索が完成!

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

最短経路検索ができた。お試しページ作ってみたので、興味ある人はやってみてください。
自分でいうのもなんですが、面白いですよ!!勝手に線が引かれる快感。。。

まあ、WebAPIを使ってるから、俺は大した苦労はしてないんだけどさ!

http://hillclimb.319ring.net/pages/web_routing/

よければ掲示板とかにでも感想を教えてください!!


最短経路検索を使ってみた

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

株式会社シリウステクノロジーが提供してくださっている最短経路検索を使えば、自転車でヒルクライムしようぜ!のコース登録が楽になるなぁと思った。いちいちチマチマとクリックしていく手間が省けるのだ。これは素晴らしい!と。それで現在、開発環境で試してるんだけど、いささか精度が悪い。まあ、首都圏内だと精度がいいらしいけれど、地方になると若干精度が落ちるようだ。

ひとまず、使用に耐えるレベルだった。あとの細かな修正は、例えば「点を1つ戻す」で戻りながら調節すればよいかなと。しかし、こいつをを使うと点を打ちすぎるせいか、今度は高度検索のWebAPIへのアクセスが多すぎるようになるらしく、高低表の画像を出力するときにエラーになってしまった。うーむ、あちらが立てば、こちらが立たず。というわけでリリースは延期です。

たしか、どっかのサイトで、高度検索APIの機能を自分のサーバに実装するためのノウハウが載っていたので、今度はそいつを実装してみてから考えるか。ただ、めっちゃ処理重そうだな。。。開発環境では動いても、レンタルサーバで動かなかったら、どうしよう。。。

xreaのサーバは安くていいけど、現在の環境はphp5がCGIで動いてるせいで、すげー重たく感じる。いや、俺のプログラムが重いのか?


staticmapなんてあったのか!?

このエントリをはてなブックマークに追加このエントリをdel.icio.usに追加このエントリをLivedoor Clipに追加このエントリをYahoo!ブックマークに追加このエントリをFC2ブックマークに追加このエントリをNifty Clipに追加このエントリをPOOKMARK. Airlinesに追加このエントリをBuzzurl(バザール)に追加このエントリをChoixに追加このエントリをnewsingに追加

GoogleMapを動的でなく、静的な画像として取得する方法があることを初めて知った!これは現在、自転車でヒルクライムしようぜ!を携帯対応してるから、どうやったらMAP表示できるかな〜と思って検索してたらヒット!すげー!静止画なのに、なぜか動的なGoogleMapsよりも感動した。

http://ke-tai.org/blog/2008/02/26/gmapstatic/

静止画なので、imgタグで直接指定して、マップを取得できる。だからケータイで使える。

これって、取得した画像をローカルに保存したらやっぱりマズイんだろうな〜。でも逐一Googleにアクセスさせにいくのって無駄じゃない?とか思うんだけどな。静止画だし。

とりあえず、画像の取得はできたけど、コースの線を引くと、クエリで渡す値が長くなりすぎてバツ画像が表示されてしまった。。。詳細にコースを書いていると、逆にダメというオチか!ただでさえ、GoogleAPI Keyが長いのであんまり設定できんのに。

ドコモのURLの長さがどこまで処理できるか?わからんかったんだけど、1024〜2048byteくらいっぽい。雑に点を打てば、いけそうだけど、雑だとそれはそれでPCで困る。うーむ。線を引かずにスタートとゴールの点だけで表示させるかな?それならURL長くならなくて済む。

携帯対応、機能拡張欲がどんどん出てきて、ヤバイ。早いところ終わらせよう。


Get Adobe Flash playerPlugin by wpburn.com wordpress themes