• 検索結果がありません。

GoogleMapsAPI 20110212

N/A
N/A
Protected

Academic year: 2018

シェア "GoogleMapsAPI 20110212"

Copied!
40
0
0

読み込み中.... (全文を見る)

全文

(1)

Google and Bing Maps Hackathon in

Japan Google Maps API

京都 GTUG ッ 藏野文子

(2)

自己紹介

• ( ) 勤務

仕事 :UI 設計

– Web ( 画面

– PC ョン

組込 機器

京都 GTUG, FxUG 京都 , FxUG 大阪女子部

• Blog http://ofuku.blog.so-net.ne.jp/

• Twitter: ofuku3f

(3)

Google Maps API 種類

• Maps JavaScript API

• Maps API for Flash

• Google Earth API

• Static Maps API

• MapData API→Fusion Table

(4)

Google Maps API Web

• Geocording API

• Direction API

• Elvation API

• Place API

(5)

Google Maps JavaScript API

現在 ョン V3

• Web

• PC iPhone/iPod touch, Android 動作

HTML 対応

– Indoor Street View- Art Project (Yutube:Art Project- Preview)

MapType 対応

便利 API

– AJAX APIs Playground

– Utility library

(6)

Google Maps JavaScript API

必要

ン 飛躍的 良い

• API 記述 不要

• InfoWindow 複数開く

• Google Maps 活用講 &勝又

(7)

Google Maps JavaScript API 関係 話題

• Indoor Street View- Art Project

(Yutube:Art Project- Preview)

Julia Map

– HTML5

– Google Maps API 使用

– Web Worker 利用 処理

時進行

(8)

Static Maps API

静止画像 (GIF PNG JPEG )

• API 不必要

• URL 経由 HTTP 応答

• Javascript 読込 表示

必須

zoom,center parameter 指定

自動的 調整

衛星写真 地形

• Google Static Map

(9)

Google Maps API for Flash

• 2008.5 Flash 2008.11 AIR API

Google

• ActionScript3.0

• Flex, Flex SDK,Flash CS3 CS5 利用可能

視覚効果 既存 F ash 連携

• Example Code, Demo Gallery

• Catalyst 連動 (Using FXG Assets as Custom

• Markers in Google Maps-blog:Ryan Stewart)

(10)

Google Maps API for Flash

3D Map

• 3D 表示 可能

• 3D 知識 理解 易い

• Yaw Roll Pitch 標系

右手系

• Google Earth 操作方法

(11)

脇道へ: AIR for Android

• Android OS Froyo

• Flex/Flash .apk

– Adobe AIR for Android 使い方Windows編

– Tutorial: Flex for Android in 90 Minutes

結構そ Flash 対応可能

• AIR for Android Maps

Flash ぶや

– AIR Android 作成: Flash, Flex Hero

ン 永井勝則氏 記事

(12)

Google Maps 商用利用

• Google Maps API 利用規約

商用利用

• Google Maps API Premier

(13)

• "Hello World”

• HTML5 う!

(14)

Hello World: 1

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

<style type="text/css"> html { height: 100% }

body { height: 100%; margin: 0px; padding: 0px }

#map_canvas { height: 100% }

</style>

<script type="text/javascript"

src="http://maps.google.com/maps/api/js?sensor=false">

</script>

(15)

Hello World: 2

<script type="text/javascript">

function initialize() {

var latlng = new google.maps.LatLng(34.9856514, 135.7587609); var myOptions = {

zoom: 8, center: latlng,

mapTypeId: google.maps.MapTypeId.ROADMAP };

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

}

</script>

</head>

(16)

Hello World: 3

<body onload="initialize()">

<div id="map_canvas" style="width:100%; height:100%"></div>

</body>

</html>

(17)

ソ 見 : <html>

• <!DOCTYPE html>

標準 主要 解釈

標準 いく CSS 動作

有効 あ

(18)

CSS

CSS map_canvas いう コン

HTML 100

<style type="text/css">

html { height: 100% }

body { height: 100%; margin: 0px; padding:

0px }

#map_canvas { height: 100% }

</style>

(19)

Google Maps API

<script type="text/javascript"

src="http://maps.google.com/maps/api/js?

sensor=set_to_true_or_false">

</script>

http://maps.google.com/maps/api/js

URL Google Maps API v3 使用

必要 ン 読 込 JavaScript

示 い

• sensor true false

定 く い

(20)

Map 表示 DOM 要素

• <div id="map_canvas" style="width: 100%;

height: 100%"></div>

地図 表示 <div>

(21)

Map ョン

• var myLatlng = new google.maps.LatLng(-34.397,

150.644);

var myOptions = {

zoom: 8,

center: myLatlng,

mapTypeId:

google.maps.MapTypeId.ROADMAP

};

(22)

地図

• ROADMAP 2 次元 通常 表示

• SATELLITE :鮮明 航空写真 表示

• HYBRID :鮮明 航空写真 道路や地

ッ 表示

• TERRAIN :山や川 地形的特徴

持 地図 表示

(23)

google.maps.Map - the

Elementary Object

• var map = new

google.maps.Map(document.getElementById("ma

p_canvas"), myOptions);

地図 表示 JavaScript Map

map 場合 <div>

地図 対 コン

HTML 定義

(24)

地図 読 込

• <body onload="initialize()">

(25)

Hello World marker,InfoWindow) 1

<!DOCTYPE html>

<html>

<head>

<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />

<style type="text/css"> html { height: 100% }

body { height: 100%; margin: 0px; padding: 0px }

#map_canvas { height: 100% }

</style>

<script type="text/javascript"

src="http://maps.google.com/maps/api/js?sensor=false">

</script>

(26)

Hello World marker,InfoWindow) 2

<script type="text/javascript">

function initialize() {

var latlng = new google.maps.LatLng(34.9856514, 135.7587609); var myOptions = {

zoom: 8,

center: latlng,

mapTypeId: google.maps.MapTypeId.ROADMAP };

var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

(27)

Hello World marker,InfoWindow) 3

// 追加

var marker = new google.maps.Marker({ position: latlng,

map: map,

title:"Hello World!" });

//Info Window

var infowindow = new google.maps.InfoWindow( { content: '<b> </b>',

size: new google.maps.Size(50,50) });

(28)

Hello World marker,InfoWindow) 4

google.maps.event.addListener(marker, 'click', function() { infowindow.open(map,marker);

}); }

</script>

</head>

<body onload="initialize()">

<div id="map_canvas" style="width:100%; height:100%"></div>

</body>

</html>

(29)

配置

• var marker = new google.maps.Marker({

position: latlng,

map: map,

title:"Hello World!”

});

(30)

ン ン 配置

• var infowindow = new

google.maps.InfoWindow(

{ content: ‘<b> </b>’,

size: new google.maps.Size(50,50)

});

(31)

ン い

• UI

– click, dbclick, dragstart, drag, dragend, odle,

mousemove, mouseout, mouseover

• MVC 状態変化

地図等 状態 変化 通知

MVC

– bounds_changed

– center_changed

– maptypeid_changed

– zoom_changed

(32)

場合 場合

• google.maps.event.addListener(marker, 'click',

function() {

infowindow.open(map,marker);

});

(33)

XML

XML Parsing-

• Data.xml

<?xml version= 1.0 encoding= UTF-8 ?>

<markers>

<marker lat= 37.427770 lng= -122.144841 />

<marker lat= 37.413320 lng= -122.125604 />

<marker lat= 37.433480 lng= -122.139062 />

<marker lat= 37.445427 lng= 122.162307 />

</markers>

(34)

XML

• downloadurl.html (Jquery こちら )

XML データをパースしているソース 部分

downloadUrl( data.xml , function(data) {

var markers = data.documentElement.getElementsByTagName( marker ); for (var i = 0; i < markers.length; i++) {

var latlng = new google.maps.LatLng(

parseFloat(markers[i].getAttribute( lat )), parseFloat(markers[i].getAttribute( lng )));

var marker = new google.maps.Marker( {position: latlng, map: map});

} });

(35)

吹 出 入

moredata.xml

<?xml version= 1.0 encoding= UTF-8 ?>

<markers>

<marker name= Jackie lat= 37.427770 lng= -122.144841 />

<marker name= Peter lat= 37.413320 lng= -122.125604 />

<marker name= Mary lat= 37.433480 lng= -122.139062 />

<marker name= Puff lat= 37.445427 lng= -122.162307 />

</markers>

(36)

吹 出 入 あ XML

• downloadurl_info.html ソース

downloadUrl( moredata.xml , function(data) { var markers =

data.documentElement.getElementsByTagName( marker ); for (var i = 0; i < markers.length; i++) {

var latlng = new google.maps.LatLng(

parseFloat(markers[i].getAttribute( lat )), parseFloat(markers[i].getAttribute("lng")));

var marker =

createMarker(markers[i].getAttribute( name ), latlng); } });

(37)

仕組 利用 例

奈良 勤皇 志士

(38)

Direction API JSON XML

JSON: XML 軽い

– JavaScript JSON 処理

for (i = 0; i < myJSONResult.results.length; i++) {

myAddress[i] = myJSONResult.results[i].formatted_address; }

'formatted_address' 抽出

XPath XML 解析

(39)

Direction API

• HTTP 使用

2

地点間 計算

(

静的'

http://maps.google.com/maps/api/directions/output?parameters

– origin&必須'

– Destination目的地&必須',

– mode&省略可能 driving'交通手段

– waypoints&省略可能'- 配列

– alternatives&省略可能'true 設定 代替 場合

数 返

等々

(40)

清聴あ う い !

参照

関連したドキュメント

Let φ be a semiflow of holomorphic maps of a bounded domain D in a complex Banach space. The general question arises under which conditions the existence of a periodic orbit of

From Theorem 1.4 in proving the existence of fixed points in uniform spaces for upper semicontinuous compact maps with closed values, it suffices [6, page 298] to prove the existence

The purpose of our paper is to introduce the concepts of the transfer positive hemicontinuity and strictly transfer positive hemicontinuity of set- valued maps in E and prove

In particular we are able to obtain precise upper bounds on the spherical derivative at the origin of a map from the unit disc into the Riemann sphere minus the vertices of a

The fact that the entwining maps which were presented in this Section preserve two invariants in separated variables, enable us to introduce appropriate potentials (as shown in [44,

In this note, we shall extend the theory of the harmonic maps on the param- eterized curves of two holomorphic (2, 0) - jets bundle, avoiding the difficulty related to the problem

For stationary harmonic maps between Riemannian manifolds, we provide a necessary and sufficient condition for the uniform interior and boundary gradient estimates in terms of the

Classroom 上で PowerPoint をプレビューした状態だと音声は再生されません。一旦、自分の PC