我的名字是Cyrille,我正在製作代號爲1的地圖應用程序。目標是製作一個應用程序,可以搜索用戶公司(使用搜索欄)並添加他們想要的公司列表。然後,列表出現在主窗口中,點擊它們在地圖上顯示出來。來源事件奇怪的經度和緯度
我在代碼名爲1的事件部分有問題。下面是我的代碼的一部分:
PointLayer point = new PointLayer(new Coord(lat.doubleValue(), lng.doubleValue()),
companyName, null);
pl.addPoint(point);
pl.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent evt) {
PointLayer p = (PointLayer) evt.getSource();
System.out.println("pressed " + p);
Dialog.show("Details", "" + p.getName() + "\nLatitude: " + p.getLatitude() + "\nLongitude: " + p.getLongitude(), "Ok", null);
}
});
是的,我把基本地圖模板^^」 我的問題是:當我問點的coordonates我得到:
{‘東經’ :2.3485853, '緯度':48.8769309}
但是當我問evt.getSource的coordonates我得到:
{「東經」:261443.31964417442,「緯度」:6254004.882818963}
這是一種擾動...
我看了看,因爲昨日的互聯網,但我沒有找到任何東西,也許我我沒有在正確的地方尋找。發生了什麼的任何線索?
編輯: 感謝回覆我發現問題。這些座標是在代碼名爲1的其他系統中使用的:流行的可視化CRS Mercator。爲了使用它,你必須將其轉換爲:com.codename1.maps.Mercator.inverseMercator(latitude,longitude); 或者你可以使用谷歌標誌,而不是一個代號的[這就是我所做]
感謝您的回答!其實它適用於像我的例子一樣的單點。不幸的是,我在地圖上有一個地圖列表的地圖存在同樣的問題。該應用程序應該知道點擊哪個點,以便它可以採取協調。由於我們無法在pointLayer上添加actionListener,但只能在pointLayers上添加coords對象,因此無法繞過此問題。 –
我會嘗試並讓您知道! –