2012-01-30 10 views
0

通常、ポイントの座標を格納および取得するために、緯度と経度と呼ばれる2列のmySQLを作成しました。しかし、私のアプリは全体の緯度と経度の座標を取得し、それらを1つの列に挿入します。latとlngを一緒に使用してmySQLからGoogleマップ座標を取得できますか?

例に示す:(1.372442、103.94954699999994)

が、それは以下のような位置に私のデータベース列を挿入することは可能ですか?または私がそれを行うことができる方法。

var marker = new google.maps.Marker({ 
position: new google.maps.LatLng(<?php echo $location['locationOne']), 
map: map, 
}); 

私の例によれば、Googleマップでこれを認識してポイントを取得してプロットすることはできますか?ありがとう

答えて

1

あなたはを分割するを必要としないユーザーのブラウザがそれを解析します。したがって、javascriptはカンマを使用して関数呼び出しで変数を区切ります。

あなたの例では、すでに値が括弧で囲まれているようですので、ハードコードされた値は必要ありません。

position: new google.maps.LatLng<?php echo $location['locationOne']; ?>, 

しかし、あなたはlocationOne内の値に、いくつかの検証を行うことをお勧めします - それ以外の場合はあなたが責任を負う最高の状態でユーザーに不可解なエラーメッセージを与える不正なJavaScriptを生成します。良くない。

+0

ありがとう..それは動作します:D – SupaFlybaba

+0

私はlocationOne、locationTwo、locationThree、locationFour、locationFiveと呼ばれるデータベース行に5つの場所があるので、こんにちは。その文の中にすべてを入力してすべてを表示することは可能ですか? – SupaFlybaba

+0

私は、それぞれの場所にマーカー全体を追加するだけでいいと思います。マーカーコード全体を複製する必要があります。 – barryhunter

1

google maps LatLngオブジェクトを作成するには、列を2つの別々の値に分割する必要があります。

+0

これをどのように達成できますか?すべての参照またはコードが役立ちます..ありがとう – SupaFlybaba

+0

php explode()関数は、区切り文字で文字列を分割することができます。この場合、区切り文字はコンマです。ここにドキュメントがあります:http://www.php.net/manual/en/function.explode.php – Alex

0

PHPを使用してサーバー側で列を分割することも、JavaScriptでクライアント側で分割することもできます。ここではサンプルのJavaScriptコードがあります: - 限り、サーバー側のコードが有効なJavaScriptを作り出すよう -

var latlng = "<?php echo $location['locationOne'] ?>".split(","); 
var marker = new google.maps.Marker({ 
    position: new google.maps.LatLng(latlng[0], latlng[1]), 
    map: map, 
}); 
+0

こんにちは、マイク、返信いただきありがとうございます。私は明日お試しになります。 :D – SupaFlybaba

0

値をカンマの有無にかかわらずデータベースに保存できます。 Googleマップで好きでない場合は、PHPとJavaScript関数を使用して追加または削除できます。 JavaScript = replace(); PHP = str_replace();

マップでデータをフィルタリングしている場合は、JSONのデータを取得用に「キャッシュ」する必要があります。これにより、マップのロードがはるかに高速になります。がんばろう!

関連する問題