Blackberry - Google Maps (Sorry we have no imagery

2019-03-04 03:20发布

Please find below the markup I am using within my BlackBerry application (OS version 6 and 7) to display locations on a google map.

private String getHTMLText() {
    String HTMLText = null;
    HTMLText = "<script type=\"text/javascript\" src=\"http://maps.google.com/maps/api/js?sensor=false&libraries=drawing\"></script>" + 
               "<body onload=\"initialize();\" topmargin=\"0\" leftmargin=\"0\">" + 
               "<div id=\"map_canvas\" style=\"width:" + Display.getWidth() + "px; height:" + Display.getHeight() + "px;\">" + 
               "</body>" + 
               "<script type=\"text/javascript\">" + 
               "var Coordinates= [];" + 
               "var locations = [" + getLocatinText() + 
               "];" + 
               "var map = new google.maps.Map(document.getElementById('map_canvas'), {" + 
               "zoom: " + iZoom + "," +
               "center: new google.maps.LatLng" + getCenterLocationText() + "," + 
               "mapTypeId: google.maps.MapTypeId.ROADMAP" + 
               "});" + 
               "var marker, i;" + 
               "marker = new google.maps.Marker({position: new google.maps.LatLng" + getCenterLocationText() + 
               ", map: map,icon: 'http://chart.apis.google.com/chart?chst=d_map_pin_letter&chld=%E2%80%A2|ff0084|ffffff'});" + 
               "for (i = 0; i < 1; i++) {" + 
               "marker = new google.maps.Marker({" + 
               "position: new google.maps.LatLng(locations[i][0], locations[i][1])," + 
               "map: map" + 
               "});" + 
               "Coordinates.push( new google.maps.LatLng(locations[i][0], locations[i][1]) );" + 
               "}" + 
               /*"var flightPath = new google.maps.Polyline({" + 
               "path: Coordinates," + 
               "strokeColor: \"#FF0000\"," + 
               "strokeOpacity: 0.7," + 
               "strokeWeight: 1" + 
               "});" +*/

               "</script>";

    return HTMLText;

}

On every image, although the map loads correctly, it shows text over the top saying "sorry we have no imagery here".

However the same code used in any browser appears correctly.

enter image description here

I would be very appreciative of any feedback.

1条回答
ゆ 、 Hurt°
2楼-- · 2019-03-04 03:51

Try this -

StringBuffer html;
                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=true\" \r\n" +
                "          type=\"text/javascript\"></script>\r\n" +
                "</head> \r\n" +
                "<body>\r\n" +
                "  <div id=\"map\" style=\"width: 620px; height: 358px;\"></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" +
                "         \r\n" +
                "        }\r\n" +
                "      })(marker, i));\r\n" +
                "    }\r\n" +
                "  </script>\r\n" +
                "</body>\r\n" +
                "</html>";

            html=new StringBuffer();
            html.append(initial);
            String point = "['"+""+"',"+lattitude+","+longitude+","+""+"],";
            html.append(point);
            centerPoint = "  center: new google.maps.LatLng("+lattitude+","+longitude+"),";

               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(), "");
              add(myBrowserField);
查看更多
登录 后发表回答