从最后一天开始,我正在搜索如何在os 5.0中的黑莓地图上绘制lat上的可点击引脚。我在特定的lat上绘制图像,但我想通过单击该图像进入另一个屏幕。
提前致谢。
答案 0 :(得分:0)
我使用Google地图做过这样的事。
String initial = "<!DOCTYPE html>\r\n" +
"<html> \r\n" +
"<head> \r\n" +
" <meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" /> \r\n" +
" <title>Google Maps Multiple Markers</title> \r\n" +
" <script src=\"http://maps.google.com/maps/api/js?sensor=false\" \r\n" +
" type=\"text/javascript\"></script>\r\n" +
"</head> \r\n" +
"<body>\r\n" +
" <div id=\"map\" style=\"width: 360px; height: 390px;\"></div>\r\n" +
"\r\n" +
" <script type=\"text/javascript\">\r\n" +
" var locations = [";
String second= " ];\r\n" +
"\r\n" +
" var map = new google.maps.Map(document.getElementById('map'), {\r\n" +
" zoom: 8,";
String centerPoint ="";
String finalpart = " mapTypeId: google.maps.MapTypeId.ROADMAP\r\n" +
" });\r\n" +
"\r\n" +
" var infowindow = new google.maps.InfoWindow();\r\n" +
"\r\n" +
" var marker, i;\r\n" +
"\r\n" +
" for (i = 0; i < locations.length; i++) { \r\n" +
" marker = new google.maps.Marker({\r\n" +
" position: new google.maps.LatLng(locations[i][1], locations[i][2]),\r\n" +
" map: map\r\n" +
" });\r\n" +
"\r\n" +
" google.maps.event.addListener(marker, 'click', (function(marker, i) {\r\n" +
" return function() {\r\n" +
" infowindow.setContent(locations[i][0]);\r\n" +
" infowindow.open(map, marker);\r\n" +
" }\r\n" +
" })(marker, i));\r\n" +
" }\r\n" +
" </script>\r\n" +
"</body>\r\n" +
"</html>";
html=new StringBuffer();
html.append(initial);
point = "['"+name[i]+"',"+lat[i]+","+ lon[i]+","+i+"],";
html.append(point);
html.append(second);
html.append(centerPoint);
html.append(finalpart);
//System.out.println("Plot is"+html.toString());
BrowserFieldConfig _bfConfig = new BrowserFieldConfig();
_bfConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER);
_bfConfig.setProperty( BrowserFieldConfig.JAVASCRIPT_ENABLED, Boolean.TRUE );
_bfConfig.setProperty(BrowserFieldConfig.USER_AGENT, "MyApplication 1.0");
BrowserField myBrowserField = new BrowserField(_bfConfig);
myBrowserField.displayContent(html.toString(), "");
HorizontalFieldManager horf=new HorizontalFieldManager(HORIZONTAL_SCROLL);
horf.add(myBrowserField);
add(horf);
当我点击该图钉时,它会显示该用户的名字。
答案 1 :(得分:0)
这与最近的另一个问题非常相似。在另一个问题中,海报询问如何为地图图钉(标记)绘制自定义图像。我不清楚您是否想要自定义图像作为地图图钉。但是,如果你这样做,并且乐于使用MapField,那么
对于圆形用户个人资料图片,您无需担心我在引脚上绘制第二个图层的部分。
但是,您仍然会覆盖paint()
方法来绘制自定义图钉,然后确定用户触摸/点击地图的位置,并计算从触摸/点击到图钉的距离,以确定点击了哪个引脚。处理触摸/点击对于触摸屏和非触摸屏设备的工作方式不同,但我链接到您需要使用的API方法。