Fusion Tables へのインポート
今日は、CSVファイルをFusion Tablesへインポートしてみたいと思います。なお、Googleアカウント、Googleドライブは既にインストールされていることを条件に書いていきます。
1.画面右下のインジケータ内の「Googleドライブ」を右クリックして、「ウェブ上のGoogleドライブにアクセス」をクリックします。
2.左上の「新規」「その他」「アプリを追加」をクリックします。
3.右上の検索バーに「fusion tables」と入力し、実行します。
4.Fusion Tables(試験運用)横の「接続」ボタンをクリックします。
5.「接続」ボタンをクリックします。
6.「OK」ボタンをクリックします。
7.再度、Googleドライブの「新規」「その他」「Google Fusion Tables」をクリックします。
8.「Import new table」画面で、「参照」をクリックし、CSVファイルを選択します。
9.「Separator character」に「Comma」、「Charactor encoding」に「UTF-8」を選択します。
10.「Next」をクリックします。
11.見出しがないカラムの場合、「Column names are in row」を「None」に選択し、「Next」をクリックします。
12.「Table name」など変更がなければ、「Finish」をクリックします。
13.問題なく、約3,000行、インポートできました。
参照サイト:
デバッグ中に同じアプリをもう一つ実行させるとエラーになる
デバッグ中に同じアプリをもう一つ実行させるとエラーになる時があります。コンソールログには、以下のメッセージがあるかと思います。
Exception while doing past ineration backup: Source ... must be different.
BUILD FAILED
対応方法は、そのプロジェクトをリビルド(メニュー「Build」「Rebuild Project」)すればビルドが成功します。
ツールバーを表示させる方法
MapsActivityでツールバー表示させる方法です。
まず、getUiSettings()メソッドで GoogleMapのユーザインタフェースを取得します。次にisMapToolbarEnabled()で既にズームコントロールが有効になっている か、確認します。有効であればtrue、無効であればfalseを戻します。最後にsetMapToolbarEnabled(true)メソッドで引 数をtrueに設定し、ズームコントロールを有効にします。無効はfalseを引数に設定。
サンプル
private GoogleMap mMap;
UiSettings us = mMap.getUiSettings();
if (us.isMapToolbarEnabled()==false){
us.setMapToolbarEnabled(true);
}
マップツールバーは、マーカーをクリックしないと表示されません。ズームコントロールのひだりにあるのがマップツールバーです。
UiSettingsの章には、全部で8つのインタフェースを有効化するメソッドが用意されています。
setAllGesturesEnabled
setCompassEnabled
setIndoorLevelPickerEnabled
setMapToolbarEnabled
setMyLocationButtonEnabled
setRotateGesturesEnabled
setScrollGesturesEnabled
setTiltGesturesEnabled
setZoomControlsEnabled
setZoomGesturesEnabled
一番上のsetAllGesturesEnabledを有効化すると、すべてのインタフェースを有効化してくれます。
参照:
UiSettings | Google APIs for Android | Google Developers
MapsActivityでズームコントロールを表示させる方法
MapsActivityでズームコントロールを表示させる方法です。
まず、getUiSettings()メソッドでGoogleMapのユーザインタフェースを取得します。次にisZoomControlEnabled()で既にズームコントロールが有効になっているか、確認します。有効であればtrue、無効であればfalseを戻します。最後にsetZoomControlEnabled(true)メソッドで引数をtrueに設定し、ズームコントロールを有効にします。無効はfalseを引数に設定。
サンプル
private GoogleMap mMap;
UiSettings us = mMap.getUiSettings();
if (us.isZoomControlEnabled()==false){
us.setZoomControlEnabled(true);
}
コードを追加して、ビルドすると、画面の右下にズームコントロールが表示されました。
まだ、JavaScriptのinnerHTML問題を抱えています。今日は、innerHTMLに代えてinsertAdjacentHTML()とIEのオプションでソフトウェアレンダリングを有効にして、検証しています。が、だめだ(また、固まった)orz
MapsActivityでズームを行うには
久々にAndroid Studioの開発に戻ってきました。その間にJavaScriptのデバッグと検証、技術本の読書、固定回線、家内WiFiルータの導入、Windows10へのアップデートといろいろやってました。なので、開発全然、進んでいません(^^;。現在、マーカーを1000個、並べたところです。で、ズームを調整したいなぁーと思いつつ、Zoomって言うメソッド、中々ないと思ったら、MapsActivity内で既にあるmoveCameraメソッドで設定を行うそうです。灯台下暗しというか。。。
サンプル
googleMap mMap;
LatLng Tokyo = new LatLng(35.681298,139.764058);
float zoom =17.0f;
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(Tokyo, zoom));
サンプルの解説です。
LatLngは、緯度経度を表す型で、double,double型です。続いて、CameraUpdateFactory.newLatLngZoomの第二引数であるzoomは、ズームレベルです。float型で、1.0から20.0まで設定可能です。1:世界全体、5:大陸、10:市、15:ストリート、20が建物レベルとのこと。
CameraUpdateFactoryクラスには、zoomBy(float amount),zoomIn(),zoomOut(),zoomTo(float zoom)などのメソッドがあるようです。(今、AndroidStudioで確認しました。こんなところにあったのねorz)。なので、ズームだけだったら、zoomIn,zoomOutで十分だと思います。
参照サイト:
Camera and View | Google Maps Android API | Google Developers
今日もがじがじっと~♪
最近、7SPOTでGoogle Appのダウンロードに失敗する
昨日も、7SPOTからGoogle Appの更新しようとしたところ、失敗する。Webにはアクセス出来ているので、接続は問題ないとおもうのですが、これで三回目です。個々に容量制限など、ポリシー制限かけられているのか、疑いたくなります。
今日もがじがじっと~♪