0

私は現在、特定の家を検索した後、検索結果を表示し、検索結果の住所をGoogleマップAPIに表示させる検索システムに取り組んでいます。

配列を介してGoogleマップに複数の住所を表示することはできますが、現在は住所を手動で入力しています。データベースにあるアドレスをこの配列に入れるにはどうすればよいですか。

ここにGoogleマップコードがあります。var locationsは住所の配列を含む変数であることに注意してください

var locations = ['250 - 13450 102 Avenue Surrey, BC', '8888 University Dr Burnaby, BC', '35-160 Pembina St.New Westminster, BC'];
                function geocodeAddress(i) {
                    geocoder.geocode(
                                    {
                                        'address' : locations[i]
                                    },
                                    function(results, status) {
                                        if (status == google.maps.GeocoderStatus.OK) {
                                            map.setCenter(results[0].geometry.location);
                                            createMarker(results[0].geometry.location, i);
                                        } else {
                                            alert('Geocode was not successful for the following reason: '
                                                    + status);
                                        }
                                    });
        }

ここにphp部分があります

$mysqli = new mysqli("localhost","root","", "");
        if ($mysqli->connect_errno) {
            echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
        }
///////////set variables

$sql = $mysqli->query("select * from propertyinfo");

また、varの場所でこれを試しました

var locations = ['<?php 
                    while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
                    echo ''.$row['StreetAddress'].', '.$row['City'].', BC, ';}
                    ?>'];

json_encode などを使用する必要があるかどうかはわかりません。すべての助けをありがとう。

4

1 に答える 1

0

そのような出力に PHP ロジックを直接配置することは避けたいと考えています。それはただ面倒で、コードの操作が必要以上に難しくなります。最初に PHP でロジックを実行してから、それを出力に入れます。

あなたの場合、最初に PHP で location 配列を作成し、必要に応じてその PHP 配列を目的の出力形式に変換します。

<?php
$locations = array();
while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
    $locations[] = $row["StreetAddress"] . ", " . $row["City"] . ", BC";
}
?>

var locations = ['<?php implode("', '", $locations); ?>'];
于 2013-07-04T01:57:31.440 に答える