[解決済み] Google Maps v2 - 現在地とズームインの両方を設定する
質問
私の質問は、Google マップを設定して、現在地と拡大表示の両方を表示する方法を知っている人はいますか?
現在、メインのビューはアフリカまで開き、ずっとズームアウトしています。
それで、もう何日も検索しているのですが、出てくるのは
1) 1つのグーグルマップで2つのこと(ズームインして自分の場所に行くなど)をアニメーション化することはできないのでしょうか?つまり、アニメーションを設定する前にズームを設定する方法を見つけられれば、この問題は解決します。片方は変更できても、両方は変更できないという問題があります。
2) 役に立ちそうな他のクラスを見つけましたが、そのクラスがグーグルマップを操作できるようにコードをセットアップする方法についてのヘルプはありません。
これは、私がこれまで保持してきたコードで、いくつかは動作し、いくつかは動作しません。いくつかは、後で役に立つかもしれないと思いました。
package com.MYWEBSITE.www;
import com.google.android.gms.maps.CameraUpdateFactory;
import com.google.android.gms.maps.GoogleMap;
import com.google.android.gms.maps.SupportMapFragment;
import com.google.android.gms.maps.model.LatLng;
import android.content.Context;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
import android.view.Menu;
public class MainActivity extends FragmentActivity {
private GoogleMap map;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_layout);
map = ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)).getMap();
map.setMyLocationEnabled(true);
//LocationSource a = (LocationSource) getSystemService(Context.LOCATION_SERVICE);
//LocationManager b = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
//map.setLocationSource(a);
Criteria criteria = new Criteria();
LocationManager locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
String provider = locationManager.getBestProvider(criteria, false);
Location location = locationManager.getLastKnownLocation(provider);
double lat = location.getLatitude();
double lng = location.getLongitude();
LatLng coordinate = new LatLng(lat, lng);
//CameraPosition.Builder x = CameraPosition.builder();
//x.target(coordinate);
//x.zoom(13);
//Projection proj = map.getProjection();
//Point focus = proj.toScreenLocation(coordinate);
//map.animateCamera(CameraUpdateFactory.newLatLng(coordinate));
map.animateCamera(CameraUpdateFactory.zoomBy(13));
//map.moveCamera(CameraUpdateFactory.newLatLng(coordinate));
////LatLngBounds bounds = mMap.getProjection().getVisibleRegion().latLngBounds;
}
}
どのように解決するのですか?
<ブロッククオート1つのgoogle mapで2つのこと(例えば、ズームインして自分の場所に行く)をアニメーションさせることはできないのでしょうか?
コーディングの観点からは、それらを順次行うことになります。
CameraUpdate center=
CameraUpdateFactory.newLatLng(new LatLng(40.76793169992044,
-73.98180484771729));
CameraUpdate zoom=CameraUpdateFactory.zoomTo(15);
map.moveCamera(center);
map.animateCamera(zoom);
ここでは、まずカメラを動かし、次にカメラをアニメートしていますが、どちらも
animateCamera()
の呼び出しがあります。どちらかというと
GoogleMap
がこれらを1つのイベントに統合しているかどうかは、あまりに早く過ぎてしまうので分かりません :-)
以下はサンプルプロジェクトです。 から、上記のコードを引っ張ってきました。
申し訳ありませんが、この回答は欠陥があります。参照
ロブの回答
を参考に、一発でできる方法として
CameraPosition
を作成し、さらに
CameraUpdate
から
CameraPosition
.
関連
-
[解決済み] Google Maps JS API v3 - シンプルな複数マーカーの例
-
[解決済み] Google Maps APIでマウスのスクロールホイールによる拡大縮小を無効にする方法
-
[解決済み] Androidでインテントを経由してGoogleマップディレクションを起動する
-
[解決済み] Google Mapsのマーカーの色を変更するにはどうしたらいいですか?
-
[解決済み] アンドロイドフラグメント onRestoreInstanceState
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] WhatsAppでメッセージを送信する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Androidの連絡先リストを呼び出すには?
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] フラグメント間の値の受け渡し方法
-
[解決済み] AsyncTaskLoaderとAsyncTaskの比較
-
[解決済み] FABアイコンの色を設定する
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理