ストリートビューサービスを使って、クリックした地点のストリートビューを表示するサンプルコードを作成しました。
(1)サンプルコード
デモ表示へ
①HTML本文
<div ng-controller="MyCtrl">
<div class="row">
<div class="col-sm-6">
<google-map
id="map-canvas"
center="map.center"
zoom="map.zoom"
draggable="true"
options="map.options"
control="map.control"
events="map.events"
>
</google-map>
</div>
<div class="col-sm-6">
</div>
</div>
</div>
②スクリプト(js/map17.js)
var mapApp = angular.module('googleMapApp', ['google-maps','ui.bootstrap']);
mapApp.controller("MyCtrl", function ($scope) {
angular.extend($scope, {
map: {
center: {
latitude: 35.681382,
longitude: 139.766084
},
options: {
maxZoom: 20,
minZoom: 3
},
zoom: 15,
control: {},
events: {
projection_changed: function (map, eventName, originalEventArgs) {
var adUnitDiv = document.createElement('div');
var adUnitOptions = {
format: google.maps.adsense.AdFormat.HALF_BANNER,
position: google.maps.ControlPosition.TOP_CENTER,
publisherId: 'pub-111111111111',
channelNumber: '1111111111',
backgroundColor: '#c4d4f3',
borderColor: '#e5ecf9',
titleColor: '#0000cc',
textColor: '#000000',
urlColor: '#009900',
map: map,
visible: true
};
var adUnit = new google.maps.adsense.AdUnit(adUnitDiv, adUnitOptions);
}
}
}
});
});
③CSS
@import url('bootstrap/css/bootstrap.css');
.angular-google-map-container {
height: 400px;
}
(2)サンプルコードの内容
1)adSenseライブラリを使用する
下記のようにlibraries=adsenseを指定します。
<script type=”text/javascript” src=”http://maps.googleapis.com/maps/api/js?key=自分のGoogleマップAPIキー&sensor=false&libraries=adsense”></script>
2)AdUnitOptionsでGoogleアドセンスの広告設定
・format
広告のフォーマット。AdFormatクラスで指定する。
指定出来るフォーマットは※1参照
・position
広告の表示位置
・publisherId
Googleアドセンスアカウントのサイト運営者IDを指定
・channelNumber
Googleアドセンスでカスタムチャネルを使用している場合、ここでチャネルIDを設定できるようです。
・backgroundColor
広告の背景色
・borderColor
広告の枠線の色
・titleColor
広告タイトルのリンクの色。
・textColor
広告クリエイティブのテキストの色
・urlColor:
広告属性 URL のリンクの色。
3)adsense.AdUnitを使って広告を表示
var adUnitDiv = document.createElement(‘div’);
var adUnit = new google.maps.adsense.AdUnit(adUnitDiv, adUnitOptions);
4)projection_changedイベント
地図が表示される際に一度発行されるprojection_changedイベントを使って広告を設定します。
※1広告のフォーマットの種類
LEADERBOARD: 横方向いっぱいの長さの表示領域を作成。
BANNER: 横長の「バナー」広告を作成。
HALF_BANNER: 小さい横長の「バナー」広告を作成。
SKYSCRAPER: 大きい縦長の広告を作成。
WIDE_SKYSCRAPER: 大きく幅の広い縦長の広告を作成。
VERTICAL_BANNER: 中程度の縦長の広告を作成。
BUTTON: 小さい広告を作成。
SMALL_SQUARE: 少し大きい正方形の広告を作成。
SQUARE: 大きい正方形の広告を作成。
SMALL_RECTANGLE: 小さい長方形の広告を作成。
MEDIUM_RECTANGLE: 中程度の長方形の広告を作成。
LARGE_RECTANGLE: 大きい長方形の広告を作成。
SMALL_VERTICAL_LINK_UNIT: 小さい縦長のリンク ユニットを作成。
MEDIUM_VERTICAL_LINK_UNIT: 中程度の縦長のリンク ユニットを作成。
LARGE_VERTICAL_LINK_UNIT: 大きい縦長のリンク ユニットを作成。
X_LARGE_VERTICAL_LINK_UNIT: 特大の縦長のリンク ユニットを作成。
SMALL_HORIZONTAL_LINK_UNIT: 小さい横長のリンク ユニットを作成。
LARGE_HORIZONTAL_LINK_UNIT: 大きい横長のリンク ユニットを作成。
AngularJS、Googleマップの他の記事の目次
- WordPressでAngularJSを使ったGoogleマップを使えるようにする
- google-mapディレクティブを使って地図を表示
- 地図上に複数のマーカーを表示する
- マーカーをクリックして情報ウィンドウを表示
- マーカーでイベントを処理
- 重複して表示されるマーカーをクラスター化する方法
- 交通レイヤを表示する方法
- ルートサービスを使って簡単な徒歩ルートを表示する
- 経由地を指定して徒歩ルートを表示する
- ルート計算の結果をテキストでも表示する
- ドラッグ可能なルートを表示し、結果をテキストでも表示
- ルートサービスで表示するルートの線の色、太さを設定する方法
- Fusionテーブルのデータを地図上にマーカーとして表示
- 逆ジオコーディングで地図上クリックで住所を表示
- ジオコーディングを使って入力した住所にマーカーを表示
- 地図とストリートビューを並べて表示
- クリックした地点のストリートビューを表示
- 地図上にGoogleアドセンスの広告を表示
- パノラミオ(Panoramio)の写真を表示
- パノラミオ(Panoramio)の写真をタグでフィルタして表示
- プレイスライブラリで店や施設を表示(1)nearbySearch
- プレイスライブラリで店や施設を表示(2)テキスト検索
- プレイスライブラリで店や施設を表示(3)詳細情報表示
- 地図に独自のスタイルを設定
- 地図上にラインを表示
- プレイスライブラリで店や施設を表示(4)オートコンプリート
- WordPressでAngularJSを使ったGoogleマップを使えるようにする
- google-mapディレクティブを使って地図を表示
- 地図上に複数のマーカーを表示する
- マーカーをクリックして情報ウィンドウを表示
- マーカーでイベントを処理
- 重複して表示されるマーカーをクラスター化する方法
- 交通レイヤを表示する方法
- ルートサービスを使って簡単な徒歩ルートを表示する
- 経由地を指定して徒歩ルートを表示する
- ルート計算の結果をテキストでも表示する
- ドラッグ可能なルートを表示し、結果をテキストでも表示
- ルートサービスで表示するルートの線の色、太さを設定する方法
- Fusionテーブルのデータを地図上にマーカーとして表示
- 逆ジオコーディングで地図上クリックで住所を表示
- ジオコーディングを使って入力した住所にマーカーを表示
- 地図とストリートビューを並べて表示
- クリックした地点のストリートビューを表示
- 地図上にGoogleアドセンスの広告を表示
- パノラミオ(Panoramio)の写真を表示
- パノラミオ(Panoramio)の写真をタグでフィルタして表示
- プレイスライブラリで店や施設を表示(1)nearbySearch
- プレイスライブラリで店や施設を表示(2)テキスト検索
- プレイスライブラリで店や施設を表示(3)詳細情報表示
- 地図に独自のスタイルを設定
- 地図上にラインを表示
- プレイスライブラリで店や施設を表示(4)オートコンプリート