最終更新:
moonlight_aska 2013年09月22日(日) 20:22:13履歴
「Googleマップを表示する」を参照し, Googleマップが表示できるようにする.
レイアウトXMLで, fragmentタグ内にmapから始まるプロパティを利用する.
そのときは, Project > Cleanを実行する.
1) 縮尺 10

レイアウトXMLで, fragmentタグ内にmapから始まるプロパティを利用する.
- res/layout/activity_main.xml
- xmlns:mapを指定する.
- map:cameraZoomプロパティに, 縮尺を設定する.
そのときは, Project > Cleanを実行する.
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment"
map:cameraTargetLat="35.41"
map:cameraTargetLng="139.41"
map:cameraZoom="10"
/>
</RelativeLayout>
- 動作例
1) 縮尺 10

「Googleマップを表示する」を参照し, Googleマップが表示できるようにする.
- MainActivity.java
- getSupportFragmentManagermメソッドで, FragmentManagerのインスタンスを取得する.
- FragmentManager#findFragmentByIdメソッドで, SupportMapFragmentのインスタンスを取得する.
- SupportMapFragment#getMapメソッドで, GoogleMapのインスタンスを取得する.
- GoogleMap#moveCameraメソッドに, CameraUpdateFactory#zoomToメソッドで縮尺を指定することで, 拡大/縮小する.
- 縮尺は, GoogleMap#getCameraPosition().zoomに格納されている.
package com.moonlight_aska.android.googlemapv2;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentManager;
import android.util.Log;
public class MainActivity extends FragmentActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
FragmentManager manager = getSupportFragmentManager();
SupportMapFragment fragment = (SupportMapFragment)manager.findFragmentById(R.id.map);
GoogleMap map = fragment.getMap();
if (map != null) {
map.moveCamera(CameraUpdateFactory.zoomTo(10));
Log.v("Map", "Zoom Level = " + map.getCameraPosition().zoom);
}
}
}
地図の縮尺を設定するには, MapControllerクラスを利用する.
また, 地図の現在の縮尺を取得するには, MapViewクラスを利用する.
また, 地図の現在の縮尺を取得するには, MapViewクラスを利用する.
「Googleマップを表示する」を参照し, Googleマップが表示できるようにする.
1) 縮尺 5

2) 縮尺 10

- MainActivity.java
- findViewByIdメソッドで, MapViewのインスタンスを取得する.
- MapView#getControllerで, MapControllerのインスタンスを取得する.
- MapController#setZoomメソッドで, 縮尺(最小 1 〜 21 最大)を設定する.
- MapView#getZoomLevelメソッドで, 縮尺を取得する.
package com.moonlight_aska.android.web.googlemap01;
import android.os.Bundle;
import android.util.Log;
import com.google.android.maps.MapActivity;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;
public class MainActivity extends MapActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
MapView mview = (MapView)findViewById(R.id.mapview);
// 縮尺の設定
MapController mapCtrl = mview.getController();
mapCtrl.setZoom(5);
// 縮尺の取得
int zlevel = mview.getZoomLevel();
Log.v("Map", "Zoom Level = " + zlevel);
}
@Override
protected boolean isRouteDisplayed() {
// TODO Auto-generated method stub
return false;
}
}
- 動作例
1) 縮尺 5

2) 縮尺 10

コメントをかく