JavaScript

getPanoramaByLocation()メソッド

前回の続きで、

 

ストリートビュー未対応地域を想定した場合の説明です。

 

以下はサンプルソースです。

<!DOCTYPE html>
<html lang="ja" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=true"></script>

<script language="JavaScript">

function view_load(){

//都庁のストリートビューを表示してみます
var latlng = new google.maps.LatLng(35.690551, 139.69257);

//ストリートビューを表示
var street = new google.maps.StreetViewService();
street.getPanoramaByLocation(latlng, 50, callbackStreet);

}

function callbackStreet(results, status){

if(status == google.maps.StreetViewStatus.OK){

var latlng = results.location.latLng;

//ストリートビューを表示
var viewOptions = {
position:latlng,
pov: {
heading: 190,
pitch: 30,
zoom: 0
}
};

var view = new google.maps.StreetViewPanorama(document.getElementById("street_view"), viewOptions);
view.setVisible(true);

}else if(status == google.maps.StreetViewStatus.ZERO_RESULTS){
alert("こちらのエリアはストリートビューに対応していません。\n[ステータス:" + status + "]");
}else{
alert("ストリートビューを正常に取得できませんでした。\n[ステータス:" + status + "]");
}

}

</script>
</head>
<body onload="view_load();">

<div id="street_view" style="width:450px;height:350px;"></div>

</body>
</html>

試しに、

var latlng = new google.maps.LatLng(35.690551, 139.69257);

の部分をストリートビュー未対応地域の緯度・経度に変更してみてください。

 

ポップアップで
こちらのエリアはストリートビューに対応していません。[ステータス:ZERO_RESULTS]

と表示されるはずです。

 

やっていることはというと、

getPanoramaByLocation()に

コールバック関数(このサンプルだと「callbackStreet」)を設定してやり、

この関数に渡されたステータスをチェックしているだけです。

 

因みに、

getPanoramaByLocation()メソッドは引数に

座標、検索対象の半径(メートル単位)、コールバック関数を取ります。
https://developers.google.com/maps/documentation/javascript/services?hl=ja
 を参考にしてください。

 

あと、
取得できるステータスは以下になるようです。
■OK      :リクエストは正常に実行されました。
■UNKNOWN_ERROR :リクエストを正常に処理できませんでした。失敗の正確な理由は不明です。
■ZERO_RESULTS :付近にパノラマがありません。

 

こんな感じで調べながらやっていけば、

ストリートビューの設定も何とかなるはずです。

この記事を書いている人
株式会社ディープ
名前足立拓也

メールアドレスadachi@deep-deep.jp

関連記事

最近の記事

  1. ドメインについて
  2. WP:WordPress(ワードプレス)
  3. URL設計(URLデザイン)
  4. URL「ディレクトリ名」と文字アンダースコア(_)とハイフン(-)
  5. SEO対策(外部ファイルの読み込み)
  6. URL リダイレクト
  7. インデックスされない
  8. 内部対策は必要?
  9. CMS(シーエムエス)
  10. SEO業者は必要?

Twitter

アーカイブ

PAGE TOP