我在BrowserField中顯示谷歌地圖。黑莓手機 - 如何在瀏覽器字段中爲GoogleMap引用位於項目的res/img文件夾中的圖片
這是相關代碼:
private String setUpHtmlString(Coordinates coordinates){
StringBuffer mapString = new StringBuffer();
mapString.append("" +
"<!DOCTYPE html> " +
"<html> " +
" <head> " +
" <meta http-equiv='content-type' content='text/html; charset=UTF-8' /> " +
" <title>Google Maps Multiple Markers</title> " +
" <script src='http://maps.google.com/maps/api/js?sensor=false' type='text/javascript'></script>" +
" </head> " +
" <body> " +
" <div id='map' style='width: 500px; height: 600px;'></div> " +
" <script type='text/javascript'> " +
" var locations = [ ");
for (int i = 0; i < _placesStringArray.length; i++) {
Address address = ((Place)_hashTablePlaces.get(_placesStringArray[i])).getAddress();
mapString.append("['"+address.getDescription()+"', "+address.getLatitude()+", "+address.getLongitude()+", "+i+"]");
if(i<_placesStringArray.length - 1)
mapString.append(",");
}
mapString.append("];");
mapString.append(
" var map = new google.maps.Map(document.getElementById('map'), { " +
" zoom: 15, " +
" center: new google.maps.LatLng(-25.290646, -57.584080), " +
" mapTypeId: google.maps.MapTypeId.ROADMAP }); " +
" var infowindow = new google.maps.InfoWindow(); " +
" var marker, i; " +
" for (i = 0; i < locations.length; i++) { " +
" marker = new google.maps.Marker({ " +
"icon:'https://maps.google.com/mapfiles/kml/shapes/schools_maps.png', "+
" position: new google.maps.LatLng(locations[i][1], locations[i][2]), map: map }); " +
" google.maps.event.addListener(marker, 'click', (function(marker, i) { " +
" return function() { " +
" infowindow.setContent(locations[i][0]); " +
" infowindow.open(map, marker); " +
" } " +
" })(marker, i)); } " +
" </script>" +
" </body>" +
"</html>");
return mapString.toString();
}
正如你可以看到,圖標指向一個外部URL,但應如何寫的路徑,我的應用程序的文件夾img 內的圖像文件。
我想引用它在很多方面,像這樣的:
"icon:'local:///assets/images/marker.png'
"icon:'resources/images/marker.png'
沒有成功。
在此先感謝。
這取決於最終的目錄結構和您的html文件保存在哪裏。你應該使用「icon:'img/marker.png'」如果'img'和你創建的html文件在同一個目錄下(並且marker.png保存在img目錄中)。 –
感謝Anto,但我沒有html文件,因爲html是從字符串創建的,並傳遞給BrowserField對象的displayContent()方法。 – Lucas