谷歌静态地图通过倾斜获得卫星视图

2023-12-10

在文档中没有看到任何内容,所以我想我会在这里问:

对于通过谷歌静态地图 API 捕获图像,有什么方法可以获得倾斜的视图吗?似乎没有任何关于如何查询此内容的文档。

Thanks.


我做了一个小例子,可以帮助你。 它使用 html2canvas.js 和 jquery.js 我还分叉了什么@mfirdaus在另一个答案中做了

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <title>Capture map</title>
  <style>
    html,
    body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    #map {
      float: left;
      height: 640px;
      width: 640px;
    }
    .myButton1 {
      -moz-box-shadow: 0px 1px 0px 0px #fff6af;
      -webkit-box-shadow: 0px 1px 0px 0px #fff6af;
      box-shadow: 0px 1px 0px 0px #fff6af;
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffec64), color-stop(1, #ffab23));
      background: -moz-linear-gradient(top, #ffec64 5%, #ffab23 100%);
      background: -webkit-linear-gradient(top, #ffec64 5%, #ffab23 100%);
      background: -o-linear-gradient(top, #ffec64 5%, #ffab23 100%);
      background: -ms-linear-gradient(top, #ffec64 5%, #ffab23 100%);
      background: linear-gradient(to bottom, #ffec64 5%, #ffab23 100%);
      filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffec64', endColorstr='#ffab23', GradientType=0);
      background-color: #ffec64;
      -moz-border-radius: 6px;
      -webkit-border-radius: 6px;
      border-radius: 6px;
      border: 1px solid #ffaa22;
      display: inline-block;
      cursor: pointer;
      color: #333333;
      font-family: Arial;
      font-size: 15px;
      font-weight: bold;
      padding: 6px 24px;
      text-decoration: none;
      text-shadow: 0px 1px 0px #ffee66;
    }
    .myButton1:hover {
      background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffab23), color-stop(1, #ffec64));
      background: -moz-linear-gradient(top, #ffab23 5%, #ffec64 100%);
      background: -webkit-linear-gradient(top, #ffab23 5%, #ffec64 100%);
      background: -o-linear-gradient(top, #ffab23 5%, #ffec64 100%);
      background: -ms-linear-gradient(top, #ffab23 5%, #ffec64 100%);
      background: linear-gradient(to bottom, #ffab23 5%, #ffec64 100%);
      filter: progid: DXImageTransform.Microsoft.gradient(startColorstr='#ffab23', endColorstr='#ffec64', GradientType=0);
      background-color: #ffab23;
    }
    .myButton1:active {
      position: relative;
      top: 1px;
    }
  </style>
  <script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.js"></script>
  <script src="https://code.jquery.com/jquery-3.0.0.min.js" integrity="sha256-JmvOoLtYsmqlsWxa7mDSLMwa6dZ9rrIdtrrVYRnDRH0=" crossorigin="anonymous"></script>
</head>

<body>

  <div id="map"></div>
  <a id="btnSave" class="myButton1">generate img</a>
  <a id="togCtrl" class="myButton1">toggle controls</a>
  <div id="img-out"></div>
  <script>
    var map;
    var transform;
    var toggler = true;

    function initialize() {
      var tokio = new google.maps.LatLng(35.6801453, 139.728792);

      var agbar = new google.maps.LatLng(41.4035482, 2.1894355);
      map = new google.maps.Map(document.getElementById('map'), {
        center: agbar,
        zoom: 18,
        mapTypeId: google.maps.MapTypeId.SATELLITE
      });


    }

     //forked of https://stackoverflow.com/a/24281734/4537906
     //get transform value

    $("#btnSave").click(function() {
      console.log('btnSave');
      var transform = $(".gm-style>div:first>div").css("transform");
      var comp = transform.split(","); //split up the transform matrix
      var mapleft = parseFloat(comp[4]); //get left value
      var maptop = parseFloat(comp[5]); //get top value
      $(".gm-style>div:first>div").css({ //get the map container.
        "transform": "none",
        "left": mapleft,
        "top": maptop,
      })
      html2canvas($('#map'), {
        useCORS: true,
        onrendered: function(canvas) {
          var dataUrl = canvas.toDataURL('image/png'); //ready to use with the below commented line
          //location.href = dataUrl; //this opens the image as an url into your browser
          $(".gm-style>div:first>div").css({
            left: 0,
            top: 0,
            "transform": transform
          })
          $("#img-out").append(canvas);
        }
      });
    });
    $("#togCtrl").click(function() {

      map.setOptions({
        disableDefaultUI: toggler,
        disableDoubleClickZoom: toggler,
        draggable: !toggler,
        scrollwheel: !toggler
      });
      toggler = !toggler;

    })
  </script>

  <script async defer src="https://maps.googleapis.com/maps/api/js?callback=initialize">
  </script>
</body>

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

谷歌静态地图通过倾斜获得卫星视图 的相关文章

随机推荐

  • 无法让 document.execCommand('undo') 在浏览器中以相同的方式工作

    我有一些在文本框上实现上下文菜单的代码 上下文菜单有一个Undo and Redo通过使用调用浏览器本机方法的项目document execCommand undo 这段代码在基于 Chromium 的浏览器上按照我的要求运行 但在 Fir
  • 如何在 Hive 中按原始顺序选择行?

    我想从 mytable 中选择具有确定数字的原始行中的行 众所周知 关键字 limit 将随机选择行 mytable 中的行是按顺序排列的 我只想按原始顺序选择它们 例如 选择 10000 行 即从第 1 行到第 10000 行 如何实现这
  • 对象“_Global”的方法“Range”失败

    我试图循环遍历三个下拉列表中的项目 其中包含命名范围 A B 和 C 摘要输出根据所选下拉列表中的项目而变化 我想复制每个摘要输出 19 行 x 15 列的表格 并将它们粘贴到新工作表 表 3 中 例如 如果列表 A 中有 3 个项目 列表
  • 在 VueJS 中写入全局变量

    我在用 使用 VueJs 2 的全局数据作为我的起点 因为我只想读 写一个变量 我已在现有代码中添加了 click 事件来修改变量 但收到 未捕获的引用错误 myGlobalStuff 未定义 谁能看到我做错了什么 HTML div myG
  • %%F 变量始终引用 FOR 循环中的最后一项而不是当前项

    这看起来应该相当简单 但我在 DOS 中使用 FOR 循环来正确报告它正在评估的当前项目时遇到困难 我有一个简单的 DOS 批处理文件 它循环遍历目录中的所有文件并重命名它们 假设我的目录包含以下文件 File1 txt File2 txt
  • 模拟器无法连接互联网

    我的机器使用 WiFi 连接上网 并且 LAN 卡处于空闲状态 它不在代理或防火墙后面 但不知何故 我的模拟器的浏览器没有加载任何页面 这意味着模拟器无法连接到互联网 我搜索了很多但没有运气 可能的原因是什么 请帮忙 提前致谢 我在 OS
  • 为什么下面的代码会导致死锁

    我有以下课程 public class LockTester implements Runnable private static Locker locker new Locker public static void main Strin
  • JaxB 重命名具有重复名称的类

    我必须使用一个包含以下代码片段的架构 其中名称object是重复的
  • 如何使用 Maven 构建 Spark 1.2(给出 java.io.IOException:无法运行程序“javac”)?

    我正在尝试使用 Maven 构建 Spark 1 2 我的目标是在 Hadoop 2 2 上使用 PySpark 和 YARN 我发现这只能通过使用 Maven 构建 Spark 来实现 首先 这是真的吗 如果是的话 下面的日志有什么问题呢
  • 并行运行行为测试(在两个浏览器窗口中)

    我跟着这个博客作为一个例子并阅读平行跑者信息 当我打电话时bin behat命令后 将打开一个浏览器窗口并使用以下设置成功运行所有测试 symfony behat yml default context class Site CommonB
  • 在 OSX 10.10 Yosemite 中安装 JDK 1.5

    我使用 OS X Yosemite 10 10 2 并且必须使用 JDK 1 5 进行遗留应用程序开发 我发现this帖子指的是this在 Lion 和 Mavericks 中安装 JDK 4 5 6 的脚本 在评论中我发现这两行 usr
  • 分析 DLL/LIB 膨胀

    我在VS2005中继承了一个相当大的C 项目 它编译成大约5MB的DLL 我想缩小库的大小 以便对于从慢速网络共享使用它的客户端来说 它可以通过网络更快地加载 我知道如何通过分析代码 包含内容和项目设置来做到这一点 但我想知道是否有任何可用
  • 为什么 Directory.GetFiles() 在后续运行中运行得更快?

    我不太确定是什么原因造成的 所以如果我在搜索中找不到所需的信息 请原谅我 这是一个例子 假设我们有一个包含 1 000 000 个文件的文件夹 运行 Directory GetFiles 需要几分钟的时间 然而 之后再次运行它只需要几秒钟
  • Visual Studio 2013 编译器警告未显示

    我昨晚安装了 Visual Studio 2013 我注意到它根本没有显示任何警告 具体来说 我希望它突出显示未使用的局部变量 私有方法等 Visual Studio 中是否有需要启用的设置 我偶然遇到了解决方案 右键单击 您的项目并选择
  • 在 ActiveResource 中设置站点/用户字段

    我正在构建一个 sinatra 应用程序 它将使用 Highrise CRM gem 访问 Highrise 数据 这个 gem 基于 ActiveResource 类 我想为每个请求设置站点 用户字段 我遵循了这里发布的建议 基于每个用户
  • 如何抑制 Maven“无法找到资源”消息?

    我如何告诉 Maven 对于无法找到依赖项的存储库抑制 无法找到资源 信息消息 但显示那些它确实找到依赖项的存储库 也就是说 显示命中 但忽略未命中 因为它们淹没并掩盖了命中 例如 代替此输出 Downloading http downlo
  • 为什么了解 Asp.net 生命周期对于 Asp.net 编码很重要?

    为什么了解 Asp net 生命周期对于 Asp net 编码很重要 因为否则 您最终会对代码做出错误的假设 在不了解平台如何工作的情况下为平台进行开发绝不是一个好主意 至少 allASP Net 开发人员必须了解客户端代码 Javascr
  • android 在任何应用程序顶部显示带有弹出窗口的通知

    使用下面的代码 我的通知仅添加到通知栏 不会显示弹出式消息 就像您在另一个应用程序中收到 Whatsapp 消息一样 是什么导致通知发生这种情况 private void sendNotification int distance View
  • 一段时间后失去与 MySQL 的连接,并且没有重新连接

    我正在开发一个独立的服务器 它使用 JPA Hibernate 来访问 MySQL 数据库 当我启动服务器时 一切正常 然而 一段时间后 通常是第二天早上 如果我下午启动它 它将停止工作 因为显然与 MySQL 的连接已关闭 我看到很多So
  • 谷歌静态地图通过倾斜获得卫星视图

    在文档中没有看到任何内容 所以我想我会在这里问 对于通过谷歌静态地图 API 捕获图像 有什么方法可以获得倾斜的视图吗 似乎没有任何关于如何查询此内容的文档 Thanks 我做了一个小例子 可以帮助你 它使用 html2canvas js