简体   繁体   English

asp.net core 2.0 spa angular + google map

[英]asp.net core 2.0 spa angular + google map

How can i implement google map in asp.net core spa angular application, i have include script in to my index.cshtml but got error while accessing it from angular. 我如何在asp.net核心spa角度应用程序中实现谷歌地图,我已经包含脚本到我的index.cshtml但从角度访问它时出错。

import { Component } from '@angular/core';
declare var google: any;
@Component({
    selector: 'home',
    templateUrl: './home.component.html'
})
export class HomeComponent {
    constructor() {
        var mapProp = {
            center: new google.maps.LatLng(51.508742, -0.120850),
            zoom: 5,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        var map = new google.maps.Map(document.getElementById("googleMap"), mapProp);
    }
}

Index.html 的index.html

@{
    ViewData["Title"] = "Home Page";
}

<app asp-prerender-module="ClientApp/dist/main-server">Loading...</app>
<script src="https://maps.googleapis.com/maps/api/js?key=[YOUR-KEY]" async defer></script>
<script src="~/dist/vendor.js" asp-append-version="true"></script>
@section scripts {
    <script src="~/dist/main-client.js" asp-append-version="true"></script>
}

An unhandled exception occurred while processing the request. 处理请求时发生未处理的异常。

NodeInvocationException: Uncaught (in promise): ReferenceError: google is not defined ReferenceError: google is not defined at new HomeComponent (F:\\yo\\ClientApp\\dist\\main-server.js:16281:25) NodeInvocationException:Uncaught(在promise中):ReferenceError:google未定义ReferenceError:google未在新的HomeComponent中定义(F:\\ yo \\ ClientApp \\ dist \\ main-server.js:16281:25)

.cshtml .cshtml

<app asp-prerender-module="ClientApp/dist/main-server"
         asp-prerender-data='@ViewData["token"]' >Loading...</app>//Storing 

    <script src="~/dist/vendor.js" asp-append-version="true"></script>
    @section scripts {
        <script src="~/dist/main-client.js" asp-append-version="true"></script>
    }

boot.server.ts boot.server.ts

setImmediate(() => {
                    resolve({
                        html: state.renderToString(),

                        globals: {
                            tokenData: params.data
                        }

                    });

app.component.ts app.component.ts

declare var tokenData: any;
@Component({..})
export class AppComponent implements OnInit{
 ngOnInit() {
 let accessToken = tokenData;
 localStorage.setItem('token', accessToken);
     }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM