如何将后退按钮添加到地图重定向离子

How can I add a back button to a map redirect ionic?

本文关键字:地图 重定向 添加 按钮      更新时间:2023-09-26

我正在运行一个离子谷歌地图应用程序。我遇到的问题是右下角的谷歌条款和条件。我想显示条款和条件,但是当我运行应用程序并单击条款和条件时,会打开另一个窗口,基本上使我的应用程序消失。

如何单击条款和条件,但使其位于框架内?

http://codepen.io/leetcat/pen/GZrLRN

索引.html:

<html ng-app="ionic.example">
  <head>
    <meta charset="utf-8">
    <title>Map</title>
    <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width">
    <link href="//code.ionicframework.com/nightly/css/ionic.css" rel="stylesheet">
    <script src="//code.ionicframework.com/nightly/js/ionic.bundle.js"></script>
    <!-- google maps javascript -->
    <script src="//maps.googleapis.com/maps/api/js?key=AIzaSyB16sGmIekuGIvYOfNoW9T44377IU2d2Es&sensor=true"></script>
  </head>
  <body ng-controller="MapCtrl">
    <ion-header-bar class="bar-dark" >
      <h1 class="title">Map</h1>
    </ion-header-bar>
    <ion-content>
      <div id="map" data-tap-disabled="true"></div>
    </ion-content>
  </body>
</html>

该应用程序.js

angular.module('ionic.example', ['ionic'])    
    .controller('MapCtrl', function($scope, $ionicLoading, $compile) {
      function initialize() {
        var myLatlng = new google.maps.LatLng(43.07493,-89.381388);
        var mapOptions = {
          center: myLatlng,
          zoom: 16,
          mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("map"),
            mapOptions);          
        $scope.map = map;
      }
      google.maps.event.addDomListener(window, 'load', initialize);
    });

单击条款和条件时,将打开一个新页面。我希望它在框架中打开,以便我可以单击返回。在iOS应用程序中,无法单击返回。

将此函数添加到您的应用程序.js文件中:

function changeTermsOfUseClick() {
  var a = document.getElementsByClassName('gmnoprint').item(1).lastChild.lastChild;
  a.setAttribute('href',"#/html/redirect/here");
  a.removeAttribute('target');
};

并将此行添加到初始化函数中:

$scope.initialize = function() {
  google.maps.event.addListenerOnce($scope.map, 'tilesloaded', changeTermsOfUseClick);
};

加载地图后,将调用 changeTermsOfUseClick(),并且存在我们要更改其 href 的元素,因此您可以将其指向应用程序中所需的任何位置,更改此#/html/redirect/here

确保你也不要在没有显示它的情况下删除它,这将是非法的。