【问题标题】:Runtime Error Cannot read property 'environment' of null - Ionic Google Maps运行时错误无法读取 null 的属性“环境” - Ionic Google Maps
【发布时间】:2019-03-10 11:26:59
【问题描述】:

我正在设置我的 Ionic 应用程序,并且我严格按照 Google Maps API 文档进行操作。但是,当我尝试运行 Maps API 时,我一直无法摆脱这个错误:

然后这是我在主页上的完整代码。我确保在 home.html 中放入一个带有id="map_canvas" 的 div,并在 scss 文件中为其设置高度为 100%。从我所见,错误似乎不像环境部分,但我确保我的 API 密钥是正确的,并且我已经运行了相关的科尔多瓦命令来设置谷歌地图插件。我只是看不到什么可能会导致此错误。

import {
  GoogleMaps,
  GoogleMap,
  GoogleMapsEvent,
  GoogleMapOptions,
  Marker,
  Environment
} from '@ionic-native/google-maps';
import { Component } from "@angular/core/";

@Component({
  selector: 'page-home',
  templateUrl: 'home.html'
})
export class HomePage {
  map: GoogleMap;
  constructor() { }

  ionViewDidLoad() {
    this.loadMap();
  }

  loadMap() {

    // This code is necessary for browser
    Environment.setEnv({
      'API_KEY_FOR_BROWSER_RELEASE': 'I_ENTERED_MY_UNRESTRICTED_API_KEY_HERE',
      'API_KEY_FOR_BROWSER_DEBUG': ''
    });

    let mapOptions: GoogleMapOptions = {
      camera: {
        target: {
          lat: 43.0741904,
          lng: -89.3809802
        },
        zoom: 18,
        tilt: 30
      }
    };

    this.map = GoogleMaps.create('map_canvas', mapOptions);

    let marker: Marker = this.map.addMarkerSync({
      title: 'Ionic',
      icon: 'blue',
      animation: 'DROP',
      position: {
        lat: 43.0741904,
        lng: -89.3809802
      }
    });
    marker.on(GoogleMapsEvent.MARKER_CLICK).subscribe(() => {
      alert('clicked');
    });
  }
}

【问题讨论】:

  • 如果你在配置离子项目forum.ionicframework.com/t/…scotch.io/@chaitanyamankala/…时遗漏了一些东西,请查看下面的参考资料
  • 在初始化时将变量环境设置为空白。
  • @yushin 我使用 CLI 来启动一切。我假设这不能正常工作。你知道我会在哪里初始化它以及如何初始化吗?

标签: angular google-maps ionic-framework ionic3


【解决方案1】:

您需要使用

为您想要使用的任何平台(例如浏览器、android、ios)构建它

ionic cordova 构建浏览器 -l

然后这将为它创建环境,因此它将运行。它不能简单地使用 ionic serve

【讨论】:

  • @NeerajWalia 在 ionic v3 和 ionic v4 之间有一个很大的转变。如果您使用的是 v3,则不需要任何环境来完成这项工作。并尝试为其他浏览器构建它。浏览器并不总是正常工作。如果您仍然遇到问题,请使用您拥有的任何离子版本按照此分步教程进行操作docs.google.com/presentation/d/e/…
  • @NeerajWalia 在为浏览器构建之后,您可能正在尝试ionic serve。它不适用于服务。您需要为科尔多瓦浏览器运行它:ionic cordova run browser -l
猜你喜欢
  • 2018-04-14
  • 2019-02-09
  • 1970-01-01
  • 2018-06-13
  • 1970-01-01
  • 2016-11-12
  • 2013-12-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多