カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

GoogleMap Android API v2 使い方#04

今回は地図上に線や図形を描いてみましょう。
GoogleMapのオブジェクト(mMap)は作成済とします。

線を描く

描画オプションのクラスをインポートします。

import com.google.android.gms.maps.model.PolylineOptions;

サンプルとして2点の座標を宣言

private LatLng place1 = new LatLng(43.061363052307875, 141.3549041748047); //札幌
private LatLng place2 = new LatLng(33.54139466898275, 130.3857421875);     //福岡

描画オプションのインスタンスを生成

PolylineOptions options = new PolylineOptions();

線の色を指定します。

options.color(Color.RED);

線の幅を指定します。

options.width(3.0f);

座標を追加します。

options.add(place1, place2);

設定が完了したので、マップに追加します。

mMap.addPolyline(options);

SC20140822-094132

描画した線をクリアしたい時は以下のようにします。

options.getPoints().clear();

位置情報と併用して移動の軌跡を表示したりすることもできます。
続きを読む…»

2,671 views

GoogleMap Android API v2 使い方#03

今回は地図で任意の場所を表示させてみたいと思います。
v1ではMapController.animateToでやっていたことと同様です。

GoogleMapのオブジェクト(mMap)は作成済とします。

地図の中心位置の座標を指定

まずは、必要なクラスをインポートします。

import com.google.android.gms.maps.CameraUpdate;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.model.LatLng;

CameraUpdateFactoryクラスを使ってCameraUpdateオブジェクトを作成します。

CameraUpdate cu = 
        CameraUpdateFactory.newLatLng(
                new LatLng(34.7, 135.5));

GoogleMap.moveCameraメソッドで地図を指定位置へ移動させます。

mMap.moveCamera(cu);

続きを読む…»

2,077 views

GoogleMap Android API v2 使い方#02

今回は、マーカー表示と円の描画方法についてご紹介します。

GoogleMap Android API v2では、マーカーや円を描く等、
v1よりも格段にやり易くなっています。

マーカーを表示する

必要なインポートは以下の通りです。

import com.google.android.gms.maps.model.Marker;
import com.google.android.gms.maps.model.LatLng;

マーカーを追加。
GoogleMapのオブジェクト(mMap)は作成済とします。

Marker mMarker = mMap.addMarker(new MarkerOptions()
    .position(LatLng latLng));

マーカーを追加するだけならこれだけです。

次にマーカーのアイコンをカスタマイズする場合。
追加で必要なインポートは以下の通りです。

import com.google.android.gms.maps.model.MarkerOptions;
import com.google.android.gms.maps.model.BitmapDescriptor;
import com.google.android.gms.maps.model.BitmapDescriptorFactory;

マーカーに使用する画像をリソースから取得します。
png形式で作成し、res/drawableディレクトリに追加しておいてください。

BitmapDescriptor icon = BitmapDescriptorFactory.fromResource(R.drawable.ic_maps_indicator_current_position);

マーカーに座標と一緒にアイコンを指定し、作成します。

Marker mMarker = mMap.addMarker(new MarkerOptions()
    .position(LatLng latLng)
    .icon(icon));

続きを読む…»

4,993 views

GoogleMap Android API v2 使い方#01

今回は地図の基本設定と、カメラ位置とズームレベルの変更の方法をご紹介します。
Android2.x系、3.1.x系以上の2パターンを紹介しています。

API v2の導入方法については以下をご覧ください。
[Google Maps Android API v2]

2014-08-18 追記
GooglePlay開発者サービス(GooglePlayServices)がAndroid2.2はサポートしなくなりました。
そのため、Android2.2ではGoogleMap Android API v2が利用できません。

Android2.x系でも動作するように作成する場合

メインとなるFragmentActivityを継承したクラスに機能を実装していきます。

public class MainActivity extends FragmentActivity

変数の宣言

private GoogleMap mMap;

マップオブジェクトを生成する関数を作成

private void setUpMapIfNeeded() {

    if (mMap == null) {

        mMap = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map))
                .getMap();

    }

}

作成した関数をActivityのonCreateで実行します。

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    setUpMapIfNeeded();
}
マップの各種設定を指定する場合

まず変数の宣言

private GoogleMap mMap;
private UiSettings mUiSettings;

続きを読む…»

2,547 views

リンクでGoogleMap地図アプリを起動する

リンクを貼って指定した場所をGoogleMapの地図アプリで表示させることができます。
スマートフォン対応サイトや、メールで正確な場所を送りたいときに便利です。

メールで送る場合はURL部分だけでOKです。

※与える座標は世界測地系(WGS84)です。

<a href="http://maps.google.com/maps?q=35.65860811863414,139.7455318066551">地図を表示</a>

上記だと座標が名称として表示されるので、任意に名称を指定したい場合は以下のようにします。

<a href="http://maps.google.com/maps?q=35.65860811863414,139.7455318066551+東京タワー">地図を

表示</a>
14,322 views