Android WebView加载GoogleMap数据渲染

2024-01-31

我正在尝试使用以下函数在 WebView 中显示 div

String baseUrl = "";
String mimeType = "text/html";
String encoding = "UTF-8";
html = sb.toString();
String historyUrl = "";

webViewDataViewer.loadDataWithBaseURL(baseUrl, html, mimeType, encoding, historyUrl);

这是我的html:

 "<html> "+
    " <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />" +
    " <head> <body>  " +
    " <script type='text/javascript' src='http://maps.googleapis.com/maps/api/js?sensor=true' ></script> " +
    " <script type='text/javascript'>" +
    " <div id='map_canvas' style='width:100%;height:100%;'></div>" +
    "  var locations = [ ['<h3>A1 A2</h3><img src='assets/user_26/thumb_0.jpg' alt='img' /><p>S, I</p><p>G</p><p>G, 4343, India</p>amit', 28.6392112, 77.3496616], ['<h3>F</h3><img src='' alt='img' /><p>Test</p><p>Test</p><p>Test, 355441, India</p>amit', 19.5851331, -99.0572702]," +
    " ['<h3>B1</h3><img src='' alt='img' /><p>Test</p><p>Test</p><p>Test, 45665, India</p>am', 19.5851331, -99.0572702]," +
    " ['<h3>C1</h3><img src='assets/user_34/thumb_userImage.png' alt='img' /><p>2134 Lawton st</p><p>San Francisco, 94122, United States</p>amit', 37.757809, -122.485946]," +
    " ['<h3>D1</h3><img src='' alt='img' /><p>La</p><p>La</p><p>Abc, 110031, </p>amit', 30.0041868, -90.2159207]," +
    " ['<h3>E1</h3><img src='assets/user_36/thumb_0.jpg' alt='img' /><p>US</p><p>US, 123456, United States</p>amit', 34.797063, -82.294022]," +
    " ['<h3>G1</h3><img src='assets/user_38/thumb_0.jpg' alt='img' /><p>1 Market St</p><p>San Francisco, 94123, United States</p>amit', 37.7944988, -122.3947446]," +
    " ['<h3>T0</h3><img src='' alt='img' /><p>Sfvf</p><p>Fgf</p><p>Fsv, 33133, India</p>amit', 25.7307897, -80.2377078], " +
    " ['<h3>GT7</h3><img src='assets/user_45/thumb_0.jpg' alt='img' /><p>Newyork</p><p>Us</p><p>Hju, 4556, India</p>amit', 40.760118, -73.830034]," +
    " ['<h3>R2</h3><img src='' alt='img' /><p>Asdfhjkkl</p><p>San Fran, 94104, United States</p>amit', 37.7911148, -122.4021273],];" +
    "  var count = 0; "+
    "  var total_lng = 0;  var total_lat = 0; " +" total_lat += 28.6392112;"+
                                           " total_lng += 77.3496616;"+
                                            "count += 1; "+                                
                                           " total_lat += 19.5851331;"+
                                           " total_lng += -99.0572702;"+
                                           " count += 1; " +                             
                                           "total_lat += 19.5851331;"+
                                           "total_lng += -99.0572702;"+
                                           "count += 1;"+                                       
                                           "total_lat += 37.757809;"+
                                           "total_lng += -122.485946;"+
                                           "count += 1;"  +                                    
                                           "total_lat += 30.0041868;"+
                                           "total_lng += -90.2159207;"+
                                          " count += 1;   total_lat += 34.797063;    total_lng += -82.294022;"+ 
                                         "  count += 1;             total_lat += 37.7944988;  total_lng += -122.3947446;   "+
                                          " count += 1; total_lat += 25.7307897;     total_lng += -80.2377078;" +                           
                                           " count += 1; total_lat += 40.760118;    total_lng += -73.830034;"+                             
                                           " count += 1;   total_lat += 37.7911148;  total_lng += -122.4021273;"+                                    
                                           " count += 1;   "+                                     

                           " if(count) {"+
                           "     avg_lat = total_lat / count;"+
                           "     avg_lng = total_lng / count;  "+                          
                           " } else {"+
                           "     avg_lat = 40;"+
                           "     avg_lng = -96;"+
                           " }"+

                        "var mapOptions = "+
                       "{"+
                         "   center: new google.maps.LatLng(avg_lat, avg_lng), "+
                          "  zoom: 4,"+
                        "    scrollwheel: false,"+
                        "    streetViewControl: false,"+

                      "      mapTypeId: google.maps.MapTypeId.ROADMAP,"+
                        "    navigationControlOptions: {"+
                       "         style: google.maps.NavigationControlStyle.SMALL"+

                          "}"+
                        "};"+

                       " var map = new google.maps.Map(document.getElementById('map_canvas'),  mapOptions);"+
                      "  var infowindow = new google.maps.InfoWindow();"+
                      "  var marker, i;"+
                      "  if(locations.length > 0) {"+
                         "   for (i = 0; i < locations.length; i++) "+
                           " {   "+                   
                          "      marker = new google.maps.Marker({"+
                             "       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> </head>  </html>"

这在 Android 浏览器中正确显示,但在 Android WebView 中没有显示数据。我无法弄清楚这里出了什么问题。


尝试这样:

String html= "<html><body>You scored <b>192</b> points.</body></html>";
webview.loadData(html, "text/html", null);

当然,用你的 html 替换我的 html 示例。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android WebView加载GoogleMap数据渲染 的相关文章

  • 将多个视频文件合并到一个文件中

    我有多个以相同帧速率和分辨率录制的视频 我想将两个视频合并为一个视频 因此结果文件将是大视频 我正在使用 MP4 解析器 api 并使用下面的代码 Movie countVideo new MovieCreator build Channe
  • 根据用户的时间设置问候语(早上好,下午好......)

    任何人都可以推断如何根据用户的时间设置实现基本的 晚上好 或 早上好 也许 PHP 会获取服务器时间 但我希望用基于时间的适当问候语来问候网站访问者 并考虑到他们一天中的时间 E G 早上好 晚上好 下午好 基于它 getHours 日期对
  • 在 Facebook 上分享文本和 URL

    我想分享一条消息 例如 查看图片http someUrl com http someUrl com从应用程序共享ABCapp 用户必须能够选择任何已安装的应用程序进行共享 我正在使用以下代码 Intent intent new Intent
  • 名称属性的 CSS 选择器?

    这可能是一个愚蠢的问题 但是属性的 CSS 选择器是什么 a 那是 名字 document body innerHTML myString anchor HTML String 这段 JavaScript 创建了一个 a 带有名称的元素 H
  • 为什么 html 中的 AngularJS 错误没有显示在控制台中?

    Here s a fiddle http jsfiddle net 6y7odxmj 3 用于说明 当 ng click 指令 例如 调用未在控制器的 scope 或其父级 上定义的函数时 它会默默地失败 当我尝试调试网页时 这种行为令人抓
  • 如何使用 JS/Puppeteer 上传文件

    我试图弄清楚如何将图片文件上传到输入对话框中 不可能只输入名称并按 Enter 键 因为我没有找到使用 Puppeteer 实现自动化的方法 我想我必须设置一些值作为图片 但我不知道该怎么做 有任何想法吗 您使用上传文件elementHan
  • 没有 ContentProvider 的 SyncAdapter

    我想为我想要与服务器同步的内容实现 SyncAdapter 看来要做到这一点 您需要为 SyncAdapter XML 属性文件中指定的权限注册一个 ContentProvider 由于我不希望手机的其余部分可以访问此内容 因此我没有实现自
  • Jasmine 单元测试不等待承诺解析

    我有一个有角度的服务 它具有像这样的异步依赖项 function angular module app factory myService q asyncService function q asyncService var myData
  • 当用户输入/删除时,使文本字段中的提示消失/重新出现[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 有谁知道我怎样才能在我的搜索栏中做出
  • Paint.setTextSize(float) 使用哪种测量单位?

    我想使用在视图上绘制具有特定高度 以像素为单位 的文本Canvas 你可以简单地使用Paint setTextSize float 与像素数或者这是使用dp or sp 它使用像素 但您可以使用以下代码将其转换为 dp double get
  • Angular2,测试和解析数据:如何测试 ngOnInit?

    我正在通过Angular2 测试指南 https angular io docs ts latest guide testing html并希望编写一个测试ngOnInit 功能 那个来自编程指南的路由部分 https angular io
  • 如何应对 WebStorm 中大量未解决的变量警告?

    我有一个从服务器获取数据的函数 function getData data console log data someVar 网络风暴说someVar是一个未解决的变量 我怎样才能摆脱这样的警告 我看到几个选项 禁止 IDE 设置中的警告
  • proguard 导致 Google Play 服务的 ActivityRecognitionResult getMostProbableActivity 崩溃

    我最近向 Play 商店发布了一个应用程序 虽然它在没有 proguard 的情况下运行得很好 但当我决定使用它时 我遇到了意外的崩溃 我看过here http developer android com google play servi
  • 如何处理在某些 Marshmallow 之前的设备上未自动授予 SYSTEM_ALERT_WINDOW 权限

    我收到一些小米设备 例如 Mi 2 运行 API 级别 21 不显示叠加层的报告 我的应用程序以 API 23 为目标 有several http forum xda developers com xiaomi mi 3 help link
  • Android 中的垂直(旋转)标签

    我需要两种在 Android 中显示垂直标签的方法 水平标签逆时针旋转 90 度 字母在侧面 带有字母的水平标签 如商店招牌 我是否需要为这两种情况 一种情况 开发自定义小部件 我可以使 TextView 以这种方式呈现吗 如果我需要完全自
  • 如何让 Grunt.js 和 Meteor.js 协同工作?

    我想在我的 Meteor 应用程序中使用简单的复制和串联 但是当 Meteor 在服务器和客户端上运行所有 javascript 文件时 我遇到了问题 而我不希望它们在任何地方运行 它要么只是配置文件 例如Gruntfile js或我想以某
  • 如何运行 Mike Bostock 的 D3 示例?

    我一直在尝试经营迈克博斯托克透视地球仪 http bl ocks org mbostock 6747043例如 但是如果您尝试在本地重现它 则对其 json 文件的引用是不正确的 问题来自于这行代码 d3 json mbostock raw
  • 如何在 Servlet 中打开弹出窗口,然后重定向页面

    我想在调用 servlet 时打开一个弹出窗口 然后想将 servlet 重定向到某个 jsp page 这就是我所做的 protected void doGet HttpServletRequest request HttpServlet
  • 在另一个布局中以编程方式膨胀布局

    我的 Android 应用程序需要帮助 我需要在另一个布局中膨胀一个布局 但我不知道该怎么做 我的xml代码是这样的 item xml 我需要膨胀多个 xml 取决于可变数量
  • 如何将上下文从一个活动传递到另一个活动?

    我有一个主要活动 它调用另一个活动来显示一些数据 我有一个私有数据库帮助程序对象 我在整个主要活动代码中使用它 有没有办法以优雅的方式将我的主要活动的上下文传递给我的子活动 即 来自子类 类似getCallingActivityContex

随机推荐

  • 用于 Docker 的部署 Rails 应用

    阅读了很多资源 但从部署的角度仍然对 Docker 感到困惑 尝试找出 Docker 环境下 Rails 应用程序的最佳实践 特别感兴趣如何解决以下问题 1 从先前部署的容器访问日志 可以停止 销毁该容器 Rsyslog 系统日志 2 回滚
  • 如何在多项选择的表单服务中分配Go_To_Page?

    刚刚开始在 Google Apps 脚本中使用表单服务 需要根据给出的答案引导表单将用户带到特定页面 这是我当前的代码 form addMultipleChoiceItem setTitle What would you like to d
  • JQuery - 获取调用元素 id

    Problem 在自动完成的源函数中 我想获取选择器的 ID 有没有办法可以遍历调用堆栈并得到这个 做JQuery有这个抽象级别吗 Why 我将在页面上有多个自动完成功能 并且每个自动完成功能将在服务器端以不同的方式处理 我必须使用另一个函
  • 仪器中没有出现泄漏,即使我确信它们存在

    我正在检查仪器是否有泄漏 并且我已设置每秒检查一次 但没有出现泄漏 我确信我的应用程序中一定有一些 有什么可以阻止这些出现吗 有没有一种好方法可以创建泄漏 以便我可以测试仪器中是否出现泄漏 Thanks 创建泄漏很容易 id someObj
  • C++17 中的 std::make_shared() 更改

    In cppref http en cppreference com w cpp memory shared ptr make shared 以下情况直到 C 17 才成立 代码如f std shared ptr
  • 有没有类似 CSS 源映射的东西?

    我使用 jQuery 动态地将 CSS 标签添加到页面中 text css appendTo document head 在 Chrome 开发者工具中查看时 所有 CSS 都显示为 localhost 这并不总是有帮助 有没有类似 CSS
  • DataGrid ScrollIntoView - 如何滚动到未显示的第一行?

    我正在尝试向下滚动带有代码的 WPF DataGrid 我用 int itemNum 0 private void Down Click object sender RoutedEventArgs e if itemNum 1 gt dat
  • C++1y 没有从 std::bind 到 std::function 的可行转换

    我正在尝试将转发函数存储到std function 如果我使用std bind 我收到错误消息 例如no viable conversion from 如果我使用 lambda 它编译没问题 这是示例代码 include
  • 输入文本框后台的 jQuery 自动完成

    我有一个 jQuery 文本框自动完成脚本 它使用 PHP 脚本来查询 MySQL 数据库 目前 结果显示在文本框下方 但我希望它看起来就像在文本框中淡出一样 我怎样才能做这样的事情 Google Instant 搜索框就是一个例子 我当前
  • Memcached – GET 和 SET 操作是原子的吗?

    场景如下 一个查询 memcached 缓存的简单网站 批处理作业每 10 15 分钟更新一次相同的缓存 使用该模式是否会出现任何问题 例如缓存未命中 我担心所有可能发生的比赛状况 例如 如果网站对 memcached 中缓存的对象执行 G
  • 以 Scaffold 作为子项的 InheritedWidget 似乎不起作用

    我希望在 Flutter 应用程序的根级别使用 InheritedWidget 以确保经过身份验证的用户的详细信息可供所有子小部件使用 本质上使 Scaffold 成为 IW 的子级 如下所示 override Widget build B
  • WebView 不接受某些 cookie

    我正在 Webview 中加载一个网站 该网站使用一些 cookie 来存储会话 我写了以下几行来接受cookie CookieSyncManager createInstance this CookieSyncManager getIns
  • DOM4J:检索按属性值过滤的节点值

    我有一个给定的 xml 结构如下
  • iOS 17 中的 SwiftUI View 泄漏

    似乎 View 及其成员在演示后不会取消分配 main struct ExampleApp SwiftUI App State var show false var body some Scene WindowGroup VStack Bu
  • 如何使用openlayers在浏览器中显示高分辨率图像

    我正在尝试使用 openlayers 5 在浏览器中显示高分辨率图像 我找到了一个有关如何使用 Zoomify 创建图像图块并使用 openlayers 地图渲染它的示例 但我无法将它用于我自己的形象 我对此完全陌生 我问的问题可能很琐碎
  • 单击按钮时旋转 Font Awesome 图标并触发手风琴过渡

    我是解决方案的一部分 但我坚持在单击实际的 披露 按钮时让 FA 图标旋转 我似乎也不知道该把它放在哪里transition属性 以便让披露内容框顺利打开 类似于手风琴 例如这个 https www w3schools com howto
  • 任意数量集合的笛卡尔积

    您是否知道一些简洁的 Java 库可以让您生成两个 或更多 集合的笛卡尔积 例如 我有三套 第一个是 Person 类的对象 第二个是 Gift 类的对象 第三个是 GiftExtension 类的对象 我想生成一组包含所有可能的三元组 P
  • 如何在基于 servlet 的 Web 应用程序中临时保存生成的文件

    我正在尝试生成一个 XML 文件并将其保存在 WEB INF pages 下面是我的代码 它使用相对路径 File folder new File src main webapp WEB INF pages StreamResult res
  • 使用 R Shiny 将(多个)值添加到数据框

    我将 R闪亮与 ggplot 结合使用来可视化某个数据集 我希望用户能够向该数据集添加值 我可以让我的应用程序向我显示原始数据 一个数据点 但是一旦用户输入一个新点 旧的数据点就消失了 用户输入的数据实际上并未存储在我的数据框中 我正在使用
  • Android WebView加载GoogleMap数据渲染

    我正在尝试使用以下函数在 WebView 中显示 div String baseUrl String mimeType text html String encoding UTF 8 html sb toString String hist