1

ユーザーがデータベーステーブルに保存することを目的として複数のマーカーをプロットできるようにするマップを作成しました。当初の計画は、次のように1つのマップごとに複数の行を格納することでした。

------------------------------------
| mapentryid | mapid | Long | Lat  | 
------------------------------------
| 1          | 1     | X.XX | X.XX |
| 2          | 1     | X.XX | X.XX |
| 3          | 1     | X.XX | X.XX |
| 4          | 2     | X.XX | X.XX |
| 5          | 2     | X.XX | X.XX |
| 6          | 2     | X.XX | X.XX |
| 7          | 2     | X.XX | X.XX |
------------------------------------

しかし、それ以来、MySQLにマルチラインストリングを格納できることがわかりました。これは、私が望むものに最適に聞こえます(私は思いますか?)

次のSQLクエリ形式を使用してデータを正しく挿入できます。

INSERT INTO table (LatLng)
VALUES (
         MultiLineString(
            LineString(Point(x),Point(y)),
            LineString(Point(x),Point(y)),LineString(Point(x),Point(y))
       )

これにより、複数行の文字列OKが追加されますが、実際には次のように表示されます。

phpmyadminスクリーンショット

問題は、上記は大丈夫ですか?もしそうなら、どうすればこのデータをGoogleマップに表示できるものに戻すことができますか?

4

1 に答える 1

3

POINTデータを使ってみませんか?

INSERT INTO geoTable (mapentryid, mapid, coord) VALUES (
    1, 1, GeomFromText('POINT(15 20)')
);

MySQLの地理空間対応クエリには常に「Well-KnownText(WKT)形式」を使用します。これらは、他のシステムと最も互換性があります。

保存された値を照会するには:

SELECT mapentryid, mapid, X(coord), Y(coord) FROM geoTable;
于 2011-06-20T10:49:47.147 に答える