2016-09-04 70 views
1

我的工作與出生地所有諾貝爾獎獲得者的地圖上展開重疊點。由於我在城市層面只有出生的地方,因此我有很多重疊點,我試圖找到一種傳播方式。SQL識別和地圖

http://s3.mapfact.com/society/all-nobel-prize-laureates/nobel.html

我的數據是在卡託。我願做一些SQL語句: 1 the_geom列 2.在每場比賽確定與同緯度/經度行 - 加幾個點的值,這樣的標記並不是100%重疊。

我發現這和我一樣的結局,但它是迄今爲止我http://bl.ocks.org/andrewxhill/raw/8695515/#

任何想法太先進了一個更簡單的方法來做到這一點?例如一些涉及Carto數據庫接口的幾個步驟?

回答

0

你可以嘗試在技術解釋this blog post。你會看到這裏的工作示例:

https://team.carto.com/u/jsanz/builder/4ddc4fd8-fcb5-11e5-914a-0ef7f98ade21/embed

以及定義這裏的層中的SQL:

https://gist.github.com/jsanz/13e635b55a0bbee5a4acb27b4a3e7c48

不要被SQL你被嚇只需要把你的字段名稱放在最後,當然還有表格名稱(在我的例子中爲team),你就可以擁有它了。然後,您可以根據需要添加類別符號,infowindows或工具提示。

唯一的限制是,這非常適用於只有幾個變焦,但你可以禁用你的地圖上顯示爲正常,這些類型的地圖僅在低縮放級別纔有意義。

+0

謝謝,這幫了很大的忙!出於某種原因,當我直接在map源中使用sql時,它不起作用,但我在Carto的界面中運行了SQL,並從結果中創建了一個新的數據集。 http://s3.mapfact.com/society/all-nobel-prize-laureates/ – JSN

+0

很高興它的工作!也許你現在可以標記答案是正確的? :-) –

1

雖然這可能不是一個正確回答你的問題,它可能是你的問題的解決方案。對於類似的情況,我使用了leaflet markercluster plugin。如果你在同一個[lat,lng]上有多個標記,當你點擊它時,它會將它們全部移動並且不會重疊。看到圖像波紋管:

利用羣集: enter image description here

集羣用戶點擊後: enter image description here

+0

謝謝,馬可,但我實際上已經這樣做了。這個問題太多了: 1.您必須放大到最高縮放級別(是的,因爲它只是點擊標記集羣很容易),然後您必須再次單擊才能讓它們變成spiderfied。這有點煩人。 2.我可以得到滿意的集羣解決方案,但我有一個問題 - 如果我改變類別(點擊l.control元素),而標記spiderfied我得到我已經花了幾天時間來嘗試解決腳本錯誤。 – JSN

+0

@JesperSidorNielsen你使用哪個版本的Leaflet.markercluster?版本0.5.0(對於Leaflet 0.7)和1.0.0(對於Leaflet 1.0)應該已經解決了在能夠在同一經緯度上進行蜘蛛狀標記之前必須放大到最大值的問題。至於類別,你可能會感興趣的[Leaflet.FeatureGroup.SubGroup(https://github.com/ghybs/Leaflet.FeatureGroup.SubGroup)插件(我是該插件的作者) – ghybs

+0

您也可以嘗試使用使用Leaflet的[OverlappingMarker](https://github.com/jawj/OverlappingMarkerSpiderfier-Leaflet)插件。不知道你的問題與L.control元素,我需要看到這個代碼。 –