我正在開發一個房地產網絡應用程序,我想在列表頁面上顯示具有多個標記的地圖,並在同一區域顯示多個房屋/房屋。我在yii2/php
中這樣做。我需要建議我該如何做到這一點?我已經爲每個家庭/財產添加了地圖,在良好的地圖標記中添加多個列表
0
A
回答
2
爲了類似的目的,我使用2amigos/yii2-google-maps-library(在我的情況下,它不是房屋,而是某種'設施')。
更新:我給你每個步驟的具體代碼示例。首先,你必須明白,要在地圖中設置元素,你必須創建對象。您可以創建一個指定其緯度和經度座標的簡化形式(Google地圖可爲您提供正確的格式),即:$coord = new LatLng(['lat' => 49.403916, 'lng' => 17.036116])
。
第一步是創建地圖,爲此你必須提供必須居中的位置。您還可以指定變焦的水平,和其他一些東西,你可以在模塊的文檔檢查:
$map = new Map([
'center' => $coord,
'zoom' => 4,
'width' => '100%'
]);
一旦腦水腫的地圖,你可以開始添加的東西。在我的情況下,我添加設施(Facilty
模型)。餘存儲其座標(緯度,經度),姓名,地址等。然後,我遍歷的Facility
IES(foreach $f in $facilities
)的數組,併爲每一個:
創建一個帶有其座標的
LatLang
對象:$coord = new LatLng(['lat' => $f->lat, 'lng' => $f->lng]);
創建一個新的
Marker
:$marker = new Marker([ 'position' => $coord, 'title' => $lab['name_lab'], 'animation' => 'google.maps.Animation.DROP', 'visible'=>'true' ]);
創建該基金的信息(姓名,地址)的
InfoWindow
和其附加到Marker
(你可以寫在其內容的HTML):$marker->attachInfoWindow(new InfoWindow(['content' => $f->address]))
標記添加到
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地圖。
相關問題
- 1. 如何在Android中的谷歌地圖添加多個標記?
- 2. 使用Json在谷歌地圖V3中添加多個標記
- 3. 如何在Android應用中添加多個地圖標記
- 4. 在Google地圖中動態添加多個標記
- 5. 如何高效地添加多個Google地圖圖標一個大的JSON標記列表?
- 6. 添加/刪除android中的多個標記地圖
- 7. 在gmap中心添加地圖標記?
- 8. 在谷歌地圖上添加多個標記在android
- 9. 添加標記ammap地圖
- 10. 添加Google地圖標記
- 11. 具有良好性能的多地圖
- 12. 無法在Google地圖上添加多個標記
- 13. 在Jquery-ui地圖上添加多個標記
- 14. 在Artem Google地圖上添加多個標記
- 15. SQlite在Google地圖上添加多個標記
- 16. 使用api v2在谷歌地圖上添加多個標記
- 17. Google Maps |我無法在地圖上添加多個標記
- 18. 在iPhone上添加多個標記到谷歌地圖應用
- 19. webview中的地圖添加標記
- 20. 使用Leaflet.js創建自定義標記在地圖上添加多個標記
- 21. 在標記集羣中添加地圖標記的URL谷歌地圖API
- 22. 在地圖中顯示多個標記
- 23. 在地圖中顯示多個標記
- 24. 在Google地圖中添加標記陣列
- 25. 在Google地圖上添加標記
- 26. 在地圖上添加標記Android
- 27. 在標記上添加infoWindow Google地圖
- 28. 在谷歌地圖上添加標記
- 29. 在google標記列表中添加地址
- 30. 使用數組列表將標記添加到Google地圖。 Android
謝謝你的回答Mr.gmc。我試圖用戶2amigos,但我無法理解它的工作。 –
檢查我的更新,我給你的例子 – gmc
非常感謝,但你能提供更多的描述性信息? –