カテゴリー
SugiBlog ホームページ制作・システム開発|大阪

描画ツールライブラリを使う GoogleMap v3

描画ツールを使うとユーザーが地図上に図形を描画することができます。
実際に使用するクラスは「DrawingManager」になります。

このツールは独立したAPIなので、別途使用することを明記しなくてはなりません。
API読み込みの際にパラメータを追加します。

GoogleMapAPI version 3.26

<script type="text/javascript"
  src="https://maps.googleapis.com/maps/api/js?key=[YOUR_API_KEY]&libraries=drawing">
</script>

実装方法は以下のようになります。

var drawingManager = new google.maps.drawing.DrawingManager();
drawingManager.setMap(map);

様々なオプションを指定して実装する

drawingManager = new google.maps.drawing.DrawingManager({
    drawingMode: google.maps.drawing.OverlayType.MARKER, //CIRCLE, MARKER, POLYGON, POLYLINE, RECTANGLE
    drawingControl: true,
    drawingControlOptions: {
        position: google.maps.ControlPosition.TOP_CENTER,
        drawingModes: ['polygon', 'rectangle'] //['marker', 'polyline', 'rectangle', 'circle', 'polygon']
    },
    polygonOptions: {
        fillColor: '#999999',
        fillOpacity: 0.5,
        strokeWeight: 3,
        clickable: false,
        editable: true,
        zIndex: 1
    },
    rectangleOptions: {
        fillColor: '#999999',
        fillOpacity: 0.5,
        strokeWeight: 3,
        clickable: false,
        editable: true,
        zIndex: 1
    }
});
drawingManager.setMap(map);

続きを読む…»

375 views

GoogleMaps API 標高の取得

GoogleMapのGoogle Maps Elevation APIを使用して標高を取得することができます。
利用にはAPIキーが必須です。詳しくは、[GoogleMap ブラウザAPIキーの取得]を参照してください。

座標オブジェクトを作成します。

var location = new google.maps.LatLng(35.7100627, 139.8085064);

リクエストパラメータを作成します。
座標オブジェウトを配列にします。

var request = { locations: new Array(location) };

ElevationServiceクラスのインスタンスを作成します。

var myElevation = new google.maps.ElevationService();

getElevationForLocationsメソッドを使って標高を取得します。

myElevation.getElevationForLocations(request, function(response, status) {

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

        alert(response[0].elevation + "m");

    } else {

        alert("取得できませんでした。");

    }

});

公式リファレンス:Google Maps Elevation API
https://developers.google.com/maps/documentation/elevation/intro?hl=ja

648 views

GoogleMap ブラウザAPIキーの取得

現時点ではまだAPIキーがなくても表示されますが、APIキーの利用が必須となったようです。
今回はGoogleMapを利用するためのAPIキーの取得方法をご紹介します。

まずはウェブ向け Google Maps APIにアクセス。
「キーを取得」をクリックします。
001

APIキー取得までの説明が表示されますので、「続ける」をクリックしてください。
002

Googleのログインが必要ですので、促されたタイミングでログインしてください。
続きを読む…»

354 views

GoogleMapに円を描くJavaScript

GoogleMap上に円を描く方法をご紹介します。

CircleOptionsクラス

var myCircleOptions = {
    center: null,           // 中心の座標
    clickable: true,        // クリックの可否(デフォルトtrue)
    draggable: false,       // ドラッグの可否(デフォルトfalse)
    editable: false,        // 編集の可否(デフォルトfalse)
    fillColor: "#ffffff",   // 塗り潰しの色
    fillOpacity: 0.7,       // 塗り潰しの不透明度 0.0~1.0
    map: map,               // GoogleMapのインスタンス
    radius: 0,              // 半径(単位:m)
    strokeColor: "#6090ff", // 線の色
    strokeOpacity: 0.9,     // 線の不透明度 0.0~1.0
    strokePosition: 
        google.maps.StrokePosition.CENTER, // 線の位置(CENTER|INSIDE|OUTSIDE)
    strokeWeight: 3,        // 線の太さ(単位:ピクセル)
    visible: true,          // 表示の有無(デフォルトtrue)
    zIndex: 1               // 重なり順
}

設定したオプションを利用してサークルオブジェクトを作成します。

myCircle = new google.maps.Circle(myCircleOptions);

マップを後から設定する場合は

myCircle.setMap(map);

公式リファレンスはこちらから
https://developers.google.com/maps/documentation/javascript/reference#Circle

604 views

Google StreetView Image API

Googleストリートビューを静的な画像として表示する方法をご紹介します。
GoogleStaticMapのようにimgタグを使って表示することが可能です。

形式

<img src="https://maps.googleapis.com/maps/api/streetview?[パラメーター]" alt="">

パラメーター

location 緯度経度
size 表示する画像のサイズ
※最大640×640
heading カメラの方位(0~360) 0=北
pitch カメラのアングル(90~-90) 90=上 -90=下
fov カメラの水平視野(0~120) 0=狭い 120=広い
zoom カメラのズーム(0~5) 0=遠い 5=近い
key APIキー

API Keyの使用が推奨されているようです。
API KeyはGoogle Developer ConsoleでStreet View Image APIを有効にすると使用できるようになります。
続きを読む…»

945 views