【问题标题】:Convert Latitude,Longitude to iframe link将纬度、经度转换为 iframe 链接
【发布时间】:2017-05-14 11:07:28
【问题描述】:

我目前正在从事一个需要我获取用户当前位置并将其保存在数据库中的项目。稍后在 GoogleMap 中显示它

我正在使用纬度和经度保存用户位置。 我可以创建一个使用此数据重定向到地图的链接,但我无法使用它来生成 iframe 链接。

例如: 纬度: 13.033419 液化天然气: 77.563976

以这种方式制作链接(可以在 btn 上使用):

http://maps.google.com/?q=13.033419,77.563976

希望使用此 LAT 和 LNG 数据来生成:

<iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3887.035379846286!2d77.56178731437602!3d13.03341899081541!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMTPCsDAyJzAwLjMiTiA3N8KwMzMnNTAuMyJF!5e0!3m2!1sen!2sin!4v1483076445133" width="600" height="450" frameborder="0" style="border:0" allowfullscreen></iframe>

准确地说: pb=!1m18!1m12!1m3!1d3887.035379846286!2d77.56178731437602!3d13.03341899081541!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3%Ax!0 2zMTPCsDAYJzAwLjMiTiA3N8KwMzMnNTAuMyJF!5e0!3m2!1sen!2sin!4v1483076445133

请告知我们是否有办法实现这一目标。
如果有的话,甚至可以使用另一种方法来做同样的事情:)

【问题讨论】:

  • 那么您想使用纬度和经度在 iframe 上显示用户位置吗?另外我想知道您希望如何使用纬度和经度生成数据pb=!1m18!1m12!1m3!1d3887.035379846286!2d77.56178731437602!3d13.03341899081541!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0x0!2zMTPCsDAyJzAwLjMiTiA3N8KwMzMnNTAuMyJF!5e0!3m2!1sen!2sin!4v1483076445133

标签: javascript angularjs google-maps iframe location


【解决方案1】:

我认为这应该可以解决您的问题

<!DOCTYPE html>
<html>

  <head>
    <script data-require="angularjs@1.5.7" data-semver="1.5.7" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.7/angular.min.js"></script>
    <link rel="stylesheet" href="style.css" />
    <script src="script.js"></script>
  </head>

  <body ng-app="app">
    <div ng-controller="googleControllerTest">
      <iframe ng-src="{{url}}" width="600" height="450" frameborder="0" style="border:0" allowfullscreen=""></iframe>
    </div>
    <h1>Hello Plunker!</h1>
  </body>

</html>

--- Code
angular.module('app', [

  ]).controller('googleControllerTest', function($scope, $sce, $interpolate){

    $scope.data = {
      lat: 13.033419,
      long: 77.563976
    }
    $scope.value = $interpolate("https://maps.google.com/maps?q={{lat}},{{long}}&hl=es;z=14&output=embed")($scope.data);
    $scope.url = $sce.trustAsResourceUrl($scope.value)
  })

Plunkr https://plnkr.co/edit/2o7WPnBbJZpk17bsyRyG?p=preview

【讨论】:

    【解决方案2】:

    您不必使用 iframe 来显示用户位置。

    最好使用Google Map API,因为与 iframe (example) 相比,您可以对其拥有更多控制权

    var map;
    function initMap() {
      map = new google.maps.Map(document.getElementById('map'), {
        center: {lat: 13.033419, lng: 77.563976},
        zoom: 8
      });
    }
    #map {
      height: 100%;
    }
    
    html, body {
      height: 100%;
      margin: 0;
      padding: 0;
    }
    <div id="map"></div>
    <!-- Replace the value of the key parameter with your own API key. -->
    <script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&callback=initMap" async defer></script>

    【讨论】:

      猜你喜欢
      • 2012-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-20
      • 2016-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多