2017-05-12 19 views
0

私は不動産のウェブアプリケーションを開発しています。同じエリアに複数の住宅/不動産を示す複数のマーカーを含むリストページに地図を表示したいと思います。私はyii2/phpでこれをやっています。私はそれをどのようにすることができるのか提案が必要ですか?私はすでにすべての家/不動産の地図を追加しています。良い地図に複数のリストを追加する

答えて

2

同様の目的で、私は2amigos/yii2-google-maps-libraryを使用します(私の場合は家ではなく、何らかの種類の施設があります)。

更新:具体的なコード例を各ステップに示します。まず、マップに要素を配置するには、LatLangオブジェクトを作成する必要があることを理解する必要があります。緯度と経度の座標を指定して1つのシンプルティを作成します(Googleマップで適切なフォーマットで表示されます)。つまり、$coord = new LatLng(['lat' => 49.403916, 'lng' => 17.036116])です。

最初のステップはマップを作成することです。そのためには、マップをどこに配置するかを指定する必要があります。また、ズームのレベル、そしてあなたは、モジュールのドキュメントで確認することができますいくつかの他のものを指定することができます。

$map = new Map([ 
    'center' => $coord, 
    'zoom' => 4, 
    'width' => '100%' 
]); 

あなたがマップをHACEたら、あなたは物事の追加を開始することができます。私の場合、私は施設(Faciltyモデル)を追加します。私はFacility IES(foreach $f in $facilities)のアレイ上及びそれぞれのIループ、そして等その座標(緯度、経度)、名前、アドレスを格納:$coord = new LatLng(['lat' => $f->lat, 'lng' => $f->lng]);

  1. その座標とLatLangオブジェクトを作成します

  2. 新しいMarkerを作成します。

    $marker = new Marker([ 
           'position' => $coord, 
           'title' => $lab['name_lab'], 
           'animation' => 'google.maps.Animation.DROP', 
           'visible'=>'true' 
          ]); 
    
  3. 施設の情報(名前、住所)とInfoWindowを作成し、それを添付Marker(あなたがその内容でHTMLを書くことができます)に:$marker->attachInfoWindow(new InfoWindow(['content' => $f->address]))

  4. Mapにマーカーを追加します。$map->addOverlay($marker);

最後に、ループの後、我々はマップを表示する:

echo $map->display(); 

完全な例:

$coord = new LatLng(['lat' => 49.403916, 'lng' => 17.036116]); 
$map = new Map([ 
    'center' => $coord, 
    'zoom' => 4, 
    'width' => '100%' 
]); 

foreach ($facilities as $f) { 
    $coord = new LatLng(['lat' => $f->lat, 'lng' => $f->lng]); 
    $marker = new Marker([ 
       'position' => $coord, 
       'title' => $lab['name_lab'], 
       'animation' => 'google.maps.Animation.DROP', 
       'visible'=>'true' 
      ]); 
    $marker->attachInfoWindow(new InfoWindow(['content' => $f->address])); 
    $map->addOverlay($marker); 
}  

echo $map->display(); 

カスタマイズオプションはたくさんありますが、これを開始するにはenoguhが必要です。モジュールのドキュメントとGoogleマップを確認してください。

+0

ご回答ありがとうございます。Mr.gmc。私はユーザー2amigosしようとしたが、私はそれが動作していることを理解することができませんでした。 –

+0

私の更新を確認してください。私はあなたに例を示します – gmc

+0

ありがとうございます。より詳しい情報を提供できますか? –

関連する問題