有没有办法在Google Map回调中包含对象原型方法?

时间:2019-06-14 16:52:23

标签: javascript google-maps object

我正在使用Google Maps开发人员构建地图,问题是我需要以对象方式构建javascript,当我在script标签中调用Google API时,它是回调函数中的一个简单函数。

<script src="https://maps.googleapis.com/maps/api/js?key={ApiKey}&callback=initMap"
async defer></script>

默认情况下,类似于此处的功能上方的initMap。 我想将调用的函数设置为mapInit,就像我包含的代码一样。

问题是地图无法显示,CSS中的宽度和高度都很好,但是如果'function initMap(){}'在我的Map对象的原型中,它将不会初始化。< / p>

当然,当函数在外部时,它会很好地工作。 所以,我很迷茫,如果有解决方案可以解决我的问题,我很乐意接受!谢谢

'use strict';

var Map = function () {
    this.mapInit();
};

Map.prototype.mapInit = function () {

};
 function initMap() {
        var map;
        map = new google.maps.Map(document.getElementById('map'), {
            center: {lat: 47.2173, lng: -1.5534},
            zoom: 10
}

谢谢。

1 个答案:

答案 0 :(得分:0)

您的回调函数需要全局访问,这样Maps API才能看到它。您可以在该函数中初始化<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/view1" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintHorizontal_chainStyle="packed" app:layout_constraintHorizontal_bias="0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintEnd_toStartOf="@id/view2" app:layout_constraintTop_toTopOf="parent" android:text="view1"/> <TextView android:id="@+id/view2" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintTop_toTopOf="parent" app:layout_constraintStart_toEndOf="@id/view1" app:layout_constraintEnd_toStartOf="@id/space" android:text="view2"/> <Space android:id="@+id/space" android:layout_width="0dp" android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/view2" app:layout_constraintEnd_toStartOf="@id/view3" app:layout_constraintTop_toTopOf="parent"/> <TextView android:id="@+id/view3" android:layout_width="wrap_content" android:layout_height="wrap_content" app:layout_constraintStart_toEndOf="@id/space" app:layout_constraintTop_toTopOf="parent" app:layout_constraintEnd_toEndOf="parent" android:text="view3"/> </androidx.constraintlayout.widget.ConstraintLayout>

Map