ラベル 位置情報 の投稿を表示しています。 すべての投稿を表示
ラベル 位置情報 の投稿を表示しています。 すべての投稿を表示

2011年5月28日土曜日

Softbankガラケーの画像が表示されない!?

灰皿なうのガラケー対応してから、Docomo、auは画像が確認できたんだけど、Softbankのガラケーだけ、うまくmapが取れていなかったことが、カミさんの携帯で判明。
この原因がわからん。

1件、探してヒットしたのが、3G以前のものはgif形式だとダメでjpgならOK、というもの。
早速、画像の形式を変更してみたけど(こんな感じ&format=jpg)うまく表示されない。

それで、さらに検索していると、同じようなQAを発見。
それによると、GooglemapAPIのバージョンによる記述式が異なり、v1の形式で記載しているからでは?とのこと。
あれ?そもそもv2って出てたの?と情弱ぶりを発揮しながらv2の構文で記述。

んー、出た出た。表示された。
なるほどね、こういうことだったのね。

v1とv2の違いにより変更した箇所はこんな感じ。
・最初んとこ
 V1の場合:<img src='http://maps.google.com/staticmap?
 V2の場合:<img src='http://maps.google.com/maps/api/staticmap?center=
・マーカーの設置
 V1の場合:marker=緯度,経度,色
 V2の場合:markers=color:色|緯度,経度

という話。

2011年5月24日火曜日

位置情報(緯度、経度)をMySQLのGeometry型で保存する

こんばんは。BS事業部隊員です。

今回は、位置情報(緯度、経度)の保存方法を紹介します。

これもまた得意のググりで見つけたものです。
位置情報サービスのはじめ方
Google MapsとMySQLの連携

MySQL(v5.0)のGeometry型.... 便利そう!とういうことで使ってみることにしました。
....
くわしいことは、先輩方のサイトを参考にしてください。詳しく載ってます。

ここでは、ポイントだけ。※ 例の位置情報は適当です。

1.Geometry型とは
MySQL4.1以降で用意されている空間情報を扱うデータ型

2.テーブル定義
対象カラムの型をGeometryとするだけ。
CREATE TABLE points (
  point_id INT NOT NULL
 ,latlon GEOMETRY NOT NULL
 ,PRIMARY KEY (point_id)
 ,SPATIAL KEY (latlon)
) Engine=MyISAM;
latlonカラムをSPATIAL INDEXとするため、MyISAMで使用します。

3.データの挿入
INSERT INTO points (
  point_id
 ,latlon
) VALUES (
  1
 ,GeomFromText('POINT(137.111 35.222)')
);
GeomFromTextはGeometry型に変換するMySQLの関数です。

4.データの取得
① 位置情報を取得する
SELECT
  point_id
 ,X(latlon) as lon
 ,Y(latlon) as lat
 ,ASTEXT(latlon) as geomtext
FROM points;
Xは経度、Yは緯度、ASTEXTは文字表現を返す関数です。

② 指定した範囲内の位置情報を取得する
SELECT
  point_id
 ,X(latlon) as lon
 ,Y(latlon) as lat
FROM points
WHERE MBRContains(GeomFromText('LINESTRING(140.00 36.00, 139.20 35.55)'), latlon);
MBRContains、LINESTRING関数については、このサイトに詳しく載ってます。

③ 2点間で一番近い位置情報を取得する
SELECT
  point_id
 ,X(latlon) as lon
 ,Y(latlon) as lat
 ,GLength(GeomFromText(CONCAT('LineString(137.111 35.222,', X(latlon), ' ', Y(latlon),')'))) AS len
FROM points
ORDER BY len
LIMIT 0 , 1
GLength関数は、2点間の距離を取得します。

かなり、省略してしまいましたが、こんな感じです。
足りない情報は、追記していきます。では。

とある規格化されたコード

世の中こんなもんまで規格化されていますよ、というお話 https://ja.wikipedia.org/wiki/ISO_5218 この辺が大変良くできた、ためになる(?)解説記事です。(長い https://qiita.com/aoshirobo/items/32deb...