【问题标题】:Azure Map with Angular 5带有 Angular 5 的 Azure 地图
【发布时间】:2020-07-04 07:48:21
【问题描述】:

我正在尝试在 Angular 5 中使用 Azure Map。我遇到以下错误“找不到模块:错误:无法解析 'D:\projects\ng5\azure-map\ 中的 'azure-maps-control' src\app\components\app-map'".

我安装了 1.3.8 版本的 azure-maps-control。我的 component.ts 文件

`

import { Component, OnInit } from '@angular/core';
import * as atlas from 'azure-maps-control';

@Component({
  selector: 'app-app-map',
  templateUrl: './app-map.component.html',
  styleUrls: ['./app-map.component.css']
})
export class AppMapComponent implements OnInit {
  map;
  constructor() { }

  ngOnInit() {
    this.map = new atlas.Map('myMap', {
      center: [-122.33, 47.6],
      zoom: 12,
      language: 'en-US',
      authOptions: {
          authType: 'subscriptionKey',
          subscriptionKey: '<Subscriptyion Key>'
      }
    });
  }

}

`

我创建了 index.d.ts 文件,我在其中声明了 azure map 模块,例如 declare module 'azure-maps-control';

我已经在 index.html 中添加了 css 和 js 文件

    <link rel="stylesheet" href="node_modules/azure-maps-control/dist/atlas.min.css" type="text/css"> 
<script src="node_modules/azure-maps-control/dist/atlas.min.js"></script>

【问题讨论】:

    标签: angular5 azure-maps


    【解决方案1】:

    尝试以下方法;

    import { Component, OnInit } from '@angular/core';
    import * as azMaps from 'azure-maps-control';
    
    @Component({
      selector: 'app-app-map',
      templateUrl: './app-map.component.html',
      styleUrls: ['./app-map.component.css']
    })
    export class AppMapComponent implements OnInit {
      map;
      constructor() { }
    
      ngOnInit() {
        this.map = new azMaps.Map('myMap', {
          center: [-122.33, 47.6],
          zoom: 12,
          language: 'en-US',
          authOptions: {
              authType: azMaps.AuthenticationType.subscriptionKey,
              subscriptionKey: '<Subscription Key>'
          }
        });
      }
    
    }
    

    例如,这里有一个使用 Azure Maps 的 TypeScript 编写的开源项目:https://github.com/Azure-Samples/azure-maps-services-ui

    【讨论】:

    • 不走运。还是一样的错误。我也应该安装其他库吗?或者 Angular 5 不支持 azure-maps-control。
    • Azure Maps 控件基于原生 JavaScript 和 HTML,因此应该适用于任何 Web 应用程序。
    • 查看开发工具的控制台和网络选项卡,确保正在加载 JaveScript 和 CSS 文件。除非您将其嵌入到移动 Web 应用程序中,否则我建议指向 CDN 托管文件而不是 node_module 文件夹中的文件。 ``` atlas.microsoft.com/sdk/javascript/mapcontrol/2/atlas.min.css" type="text/css" />
    • 我刚刚下载并修改了这个 Angular 5 应用程序github.com/SibeeshVenu/ng5 并设法让 Azure Maps 控件非常轻松地工作。
    • 嗨,我已经更改了指向 CDN 托管文件的脚本和 css url。和简单的导入import * as atlas from azure-maps-control 我得到以下错误“node_modules/azure-maps-control/typings/index.d.ts(4195,47) 中的错误:错误 TS1110:预期类型。”你可以从github.com/MayurGIS/azure-map.git克隆代码
    猜你喜欢
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-13
    相关资源
    最近更新 更多