ウィリアムのいたずらの、まちあるき、たべあるき

ウィリアムのいたずらが、街歩き、食べ物、音楽等の個人的見解を主に書くブログです(たま~にコンピューター関係も)

位置をGoogleMapに表示するためのAPI利用法

2016-09-13 18:18:58 | JavaとWeb

場所とタグを含んでTweetし、みんなの位置をGoogleMapに表示するために必要なAPI
http://blog.goo.ne.jp/xmldtp/e/a741445a4bfde8e7ce03dca78db360f7

の後半、「位置をGoogleMapに表示する」を行います。

■お題
前の

Yelp APIを使って、東京のマクドナルドを検索する方法
http://blog.goo.ne.jp/xmldtp/e/f307a7f1a7d24b4c8983da873411d17f

で出てきた、

某マックの緯度経度
 latitude": 35.6977588049412, "longitude": 139.707627867968

にマーカーをつけ、その周辺の地図を表示する。
(地図は、lat: 35.6977, lng: 139.70762 を中心に出す)




■手順

Google Mapsの表示にはAPI登録が必須になりました
http://design-plus1.com/tcd-w/2016/06/google-maps.html

にある

・「APIキーの取得」
 をします
 (googleアカウントは持っているという前提を置きます。
 もっていない場合は、googleアカウントの取得が必要です)

次に
・「プログラムを作成」

して、
・ブラウザで表示

します。以下詳細に説明します。




■APIキーの取得

まず、Googleアカウントでログインします。

https://accounts.google.com/servicelogin?hl=ja


その後、そのブラウザで

Google Maps APIs for Web
https://developers.google.com/maps/web/


キーを取得をクリック

続けるをクリック

適切に選択して「同意して続行」

キーの制限「なし」でよければそのまま、いやなら適当に設定して「作成」。次にAPIキーが出てくる。

閉じる前に、キーの値をコピーして、どこかに保存する。




■プログラムを作成
まず、

https://developers.google.com/maps/documentation/javascript/

にある「デモとサンプルコード」のソースをコピー

そして、

https://developers.google.com/maps/documentation/javascript/markers

マーカーを参考に
(サンプルコード中、上の var markerは、引数内に
map: map,
 がある。これは初期表示などに使う。一方下のvar markerは、
 引数内にそれがない。その場合は、
  marker.setMap(map);
 と、動的にマーカーをつける)

お題である

某マックの緯度経度にマーカー
 latitude": 35.6977588049412, "longitude": 139.707627867968
地図
 lat: 35.6977, lng: 139.70762を中心
にしてみる。

以下のようなソースになる。

<!DOCTYPE html>
<html>
<head>
<!-- This stylesheet contains specific styles for displaying the map
on this page. Replace it with your own styles as described in the
documentation:
https://developers.google.com/maps/documentation/javascript/tutorial -->
<link rel="stylesheet"

href="https://developers.google.com/maps/documentation/javascript/demos/demos.css">
</head>
<body>
<div id="map"></div>
<script>
function initMap() {

// Create a map object and specify the DOM element for display.
var map =" new google.maps.Map(document.getElementById('map'), {
center: {lat: 35.6977, lng: 139.70762},
scrollwheel: false,
zoom: 18
});

var myLatLng = new google.maps.LatLng(35.6977588049412,139.707627867968);
var marker = new google.maps.Marker({
position: myLatLng,
map: map,
title: 'Mac'
});

}

</script>
<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>
</body>
</html>

YOUR_API_KEYに、コピーしたAPIのキーを入れて、保存



■ブラウザで表示

保存したものをIE等で表示させる。こんなかんじになる

・・・って、このMac知ってる!いったことある!!
多分、よく要求開発アライアンスの会場になる、日本総合システム株式会社の近くにある、東新宿駅前のマック・・・

って、なぜここのマックなんだろう?そんなに有名なのか?

  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

Yelp APIを使って、東京のマクドナルドを検索する方法

2016-09-13 15:59:26 | JavaとWeb

げ、食べログAPI使えないんだ。ってことで、Yelp API
http://blog.goo.ne.jp/xmldtp/e/9e5d2883cd932f501296c27b423a40f3

のつづき(実践編)。
yelpAPIを使って、東京のマクドナルドを検索する。
PHPで作ってみる。




■システム構成

ロリポップ上にホストがあり、そこにPHP(sample.php)を置いている。
そのPHP(sample.php)が、yelp APIにアクセスしている。
ブラウザで、そのPHPファイル(sample.php)を表示している。

手順は、以下の通り。
・まず、yelpにサインアップ
・APIキー等を取得
・サンプルプログラムをダウンロード
・サンプルプログラム修正
・sample.phpをアップロード、表示
以下、詳細に




■まず、yelpにサインアップ

Yelp for Developers
http://www.yelp.com/developers

に行く。

「GetStart」をクリック。
ログインしていなければ(できっこない。まだ登録してないんだから)
以下の画面がでるはず

Sign Upをクリック

名前とかをいれて、Sign UPなんだけど、ここで、ZIP Codeとあるんで、
素直に郵便番号を入れると・・・
エラーになって、郵便番号の下に、国名が入れられるようになる。Japanを選択

なんか、登録できた旨が表示される。
ここで、メールアドレスを入れていると思うんだけど、
そのメールアドレスにメールが来ているかチェック(着ているはず)

メールの「Confirm Email」をクリック。




■APIキーを取得
サインアップが成功しているブラウザで(つまり、ログイン後?)

Yelp for Developers
http://www.yelp.com/developers

に行って「GetStart」をクリックしたら、以下の画面になったんだけど、

それでいいのかな?とにかく、この画面から・・・

Your Website URLには、PHPを置くサイト(ロリポのabc.main.jp上に置くのなら、abc.main.jp)
How you will use the APIは、Searchとした。いいのかな?
Industryは、otherで、そうすると、下に空欄が出たから、softwareと入力した。もう適当。
その下のチェックボックスに(同意するか)チェックして、submit

っていう画面が出てきて、キーが入力できる。(実際には、この右側にキーが出る)

コピーをとって控える。後で使う。




■サンプルプログラムをダウンロード
 サンプルが以下のサイトにある。

https://github.com/Yelp/yelp-api/blob/master/v2/php/sample.php


Rawをクリックすると、テキストがでてくるので、それをファイル保存して、sample.phpとして
保存する。

 このソースを見ると分かるけど、OAuthのライブラリを使っている。それは

https://github.com/Yelp/yelp-api/blob/master/v2/php/lib/OAuth.php

にある。おなじく

Rawをクリックすると、テキストがでてくるので、それをファイル保存して、OAuth.phpとして
保存する。このOAuth.phpは修正しなくていい。そのまま使う(libフォルダは作成するけど)




■サンプルプログラム修正
 ダウンロードしてきたサンプルプログラムsample.phpのほうは、修正する。
 まず、開いて、

はじめのほうにある、$CONSUMER_KEY以下4つは、「APIキーを取得」で取得した、キーとか、トークンとかそのたもろもろ(4つあるはず)をいれる(順番に)。

 その下の、$DEFAULT_TERMを修正すると、本来その言葉、場所を検索するんだけど、このままだと
分かりにくいので、今回は、ここを「直さないで」以下のところを直す。

 まず、110行目あたり、

  $url_params['term']=$term;
  $url_params['location']=$location;

と、引数をそのまま入れるようにする。

 そして、最後のあたり

$optionに入れているところからコメントアウトして、
$termに、検索したいマクドナルド(英語で"mcdonalds")、$locationに"tokyo"といれて、
query_apiを呼ぶと加工してしまうので
search($term,$location);を呼んで、プリントアウトする。
こうすれば、JSONがそのまま見える。




■sample.phpをアップロード、表示
 今回は、ロリポップを使うという話なので
 sample.phpを直下におき、
 libというフォルダをつくり、その下にOAuth.phpをおく
ことになるけど、他のプロバイダでも、同じように、sample.phpは直接見えるところ、
OAuth.phpはlibの下になるように置く。

 そして、sample.phpをアクセスすると

みたいなかんじで、JSON形式で、検索結果が見れる。

緯度経度指定などは、

https://www.yelp.com/developers/documentation/v2/search_api

を参照。cllだと思うけど、今やっている時間が無いので、また今度。

【参考サイト】

http://imagination-i.net/2014/04/15/javayelp-api%E3%82%92%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%BF%E3%82%8B/

https://www.imamura.biz/blog/20635

  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする

最新のFacebookのハッキングに注意

2016-09-13 02:07:04 | Weblog
なんとかかんとか「your video」
というメッセージが届いたら絶対にリンクをクリックしないでください。
とのこと

新手スパム[Your Video]-最新のFacebookのハッキングにご注意ください。
http://heal.27commu.net/?page_id=1354


  • Twitterでシェアする
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする