0

나는 부동산에 대한 웹 응용 프로그램을 개발 중이며 같은 지역의 여러 주택/속성을 보여주는 여러 마커가있는 목록 페이지에지도를 표시하려고합니다. 나는 yii2/php에서 이것을하고있다. 내가 어떻게 할 수 있는지 제안이 필요해? 이미 모든 집/재산에 대한지도를 추가했습니다.좋은지도 마커에 여러 목록 추가

답변

2

비슷한 목적으로, 나는 2amigos/yii2-google-maps-library (제 경우에는 주택이 아니라 일종의 '시설')을 사용합니다.

업데이트 : 각 단계마다 구체적인 코드 예제를 제공합니다. 우선,지도에 요소를 배치하려면 LatLang 개체를 만들어야한다는 것을 이해해야합니다. 위도와 경도 좌표 (Google지도에서 올바른 형식으로 표시)를 지정하는 단순함을 하나 만듭니다 (예 : $coord = new LatLng(['lat' => 49.403916, 'lng' => 17.036116])).

첫 번째 단계는지도를 만드는 것입니다.지도의 중심을 지정해야합니다. 또한 줌 레벨을 지정할 수 있으며, 다른 것들 당신은 모듈의 문서에서 확인할 수 있습니다

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

당신이지도를 HACE하면, 당신은 일을 추가 할 수 있습니다. 제 경우에는 시설을 추가합니다 (Facilty 모델).

  1. 의 좌표와 LatLang 객체를 생성 : 각 하나가 I는 좌표 등 (위도, 경도), 이름, 주소, 그리고, I Facility IES (foreach $f in $facilities)를 배열 위에 루프 저장 $coord = new LatLng(['lat' => $f->lat, 'lng' => $f->lng]);

  2. 만들기 Marker 새로운 A :

    $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에 마커를 추가

    echo $map->display(); 
    
    : $map->addOverlay($marker);

마지막으로, 루프 후, 우리는지도를 표시

전체 예 :

$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(); 

커스터마이징 옵션이 많이 있지만, 시작하기에 좋을 것입니다. 모듈의 문서와 Google지도를 확인하십시오.

+0

답변 해 주셔서 감사합니다. Mr.gmc. 나는 2amigos 사용자를 시도했지만 그것이 작동하는지 이해할 수 없었습니다. –

+0

내 업데이트를 확인하십시오, 예제를 제공합니다 – gmc

+0

대단히 감사합니다. 그러나 더 자세한 정보를 제공 할 수 있습니까? –

관련 문제