電子書籍の厳選無料作品が豊富!

GoogleストリートビューAPIを使用して、任意の座標の最寄りの道路から目的の建物を表示するプログラムを作っています。

ところが最近、都内ではインドアビューを設定しているお店などが増え、意図しないお店のインドアビューが表示されてしまうようになりました。

インドアビューを除外してストリートビューAPIを使用することはできるのでしょうか?

A 回答 (2件)

ANo1です。


ちょっと時間ができたので、試してみました。

リファレンスをよく読んだら、StreetViewSourceを指定できるのは、StreetViewPanoramaではなくてStreetViewServiceのようですね。(~~;)

というわけで、ちょっとまどろっこしいですが、StreetViewServiceを利用してOUTDOOR指定で返された座標を使って表示するということをやってみました。

上段表示が、座標そのままで表示。(東京駅内)
下段が、上記の方法で読み替えた座標で表示したもの。
(方向などは直接関係ないので、デフォルトのまま)

どうやらできるようではありますが、上にも書いたように少々まわりくどいので、もっと直接的な方法があるかも知れませんね。

…というよりも、ANo1でお尋ねしたように、座標位置を路上にして指定すれば良いような気がしますが。


<以下、ご参考まで>

(インデントは、全角空白になっています)
<!DOCTYPE HTML>
<html lang="ja">
<head>
<title>Test Sample</title>

<style type="text/css">
#pano1, #pano2 { width: 600px; height: 300px; margin-bottom: 50px;}
</style>

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

<h3>座標のまま</h3>
<div id="pano1"></div>

<h3>OUTDOOR指定</h3>
<div id="pano2"></div>


<script type="text/javascript">
(function(){
var point = new google.maps.LatLng(35.680, 139.766);
var pano1, pano2;

var panoramaDisp = function(id, latlng){
 return new google.maps.StreetViewPanorama(
  document.getElementById(id),
  {position: latlng}
 );
}

pano1 = panoramaDisp("pano1", point);

var viewS = new google.maps.StreetViewService;
viewS.getPanorama(
 {
  location: point,
  preference: google.maps.StreetViewPreference.NEAREST,
  source: google.maps.StreetViewSource.OUTDOOR
 },
 function(data, status){
  if(status=="OK") pano2 = panoramaDisp("pano2", data.location.latLng);
 }
);
})();

</script>
</body>
</html>
    • good
    • 0

google Mapも新しくなっていってるので、ちゃんと確認はしていませんが・・・




StreetViewSource classにOUTDOORに限定する定数が設定されているようですので、リクエストで指定すれば選択可能のような気がします。(未確認)
https://developers.google.com/maps/documentation …


・・・というか、座標指定の際に路上のポイントを指定できれば、インドアにはならなさそうに思いますが…
>任意の座標の最寄りの道路から目的の建物を表示するプログラムを作っています。
この検索にDirections Serviceなどをご利用なさっているなら、TravelModeをDRIVINGかBICYCLINGに指定することで、返されるルートは路上に限定されないでしょうか?(こちらも未確認です)


未確認情報ばかりで申し訳ないですが、少しは参考にでもなれば・・・
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!