gpt4 book ai didi

ios - Ionic v1 – Google map 最初不会在 iOS 中加载

转载 作者:IT王子 更新时间:2023-10-29 08:01:39 27 4
gpt4 key购买 nike

我有一个非常奇怪的问题,大约一周前开始出现。

我有一个 ionic v1 应用程序,它使用谷歌地图(不是 cordova 插件,而是谷歌地图的网络版本),这些 map 以模式打开并且一直有效(至少两年)。

我目前的JS代码如下

$scope.pickup_map = {
center: item.location,
zoom: 14,
control: pickupMapControl,
mapOptions: {
draggable: true,
disableDefaultUI: true,
zoomControl: true,
zoomControlOptions: {
style: google.maps.ZoomControlStyle.LARGE,
position: google.maps.ControlPosition.RIGHT_CENTER
}
}
}

然后在openModal方法中:

$timeout(
() => {
const map = pickupMapControl.getGMap()
map.setCenter(new google.maps.LatLng(item.location.latitude, item.location.longitude))
google.maps.event.trigger(map, 'resize')
},
100
)

在我的 html 中:

<script src="https://maps.googleapis.com/maps/api/js?libraries=geometry&amp;libraries=places&amp;key=AIzaSyAUKvpku-JhbniZY80NLq_A2Ejgk_b_lUc&amp;v=3.31" async></script>

<ion-modal-view>
<ion-header-bar class="bar-calm">
<h1 class="title">Pick-up Location</h1>
<div class="button button-clear" ng-click="closeMapViewer()"><span class="icon ion-close"></span></div>
</ion-header-bar>

<ion-content class="pickup-location-viewer">
<ui-gmap-google-map
center="pickup_map.center"
zoom="pickup_map.zoom"
control="pickup_map.control"
options="pickup_map.mapOptions"
draggable="true"
data-tap-disabled="true"
ng-if="pickup_map.control"
>
<ui-gmap-circle center="marker.position" stroke="marker.stroke" fill="marker.fill" radius="marker.radius"></ui-gmap-circle>
<ui-gmap-marker coords="userPosition" icon="{ url: 'img/user-pos-icon.png' }" idKey="user"></ui-gmap-marker>
</ui-gmap-google-map>
</ion-content>
</ion-modal-view>

这在 Chrome 和 Safari(在桌面浏览器中)以及 Android 设备上都运行良好。

我的 iOS 屏幕截图如下所示:

我特地添加了屏幕截图,因为我知道很多人都有谷歌 Logo 等出现在底部的经历,但在这种情况下不会发生这种情况。

真正奇怪的是,如果我稍微缩放或移动 map , map 就会显示,但是之后以编程方式设置缩放或重新居中 map 什么都不做。

我检查了网络调用,可以看到在 iOS 中,在我四处移动 map 之前,最初不会向 Google 发送 API 调用,而在网络和 Android 上,它们肯定是在打开模式时发送的。所以看起来问题是无论出于何种原因,它都没有在 iOS 中正确初始化,尽管如前所述,代码库中的任何内容最近都没有更改。

我知道目前最新的 google maps 稳定版本是 v3.34,我仍在使用 v3.31,但我测试了每个增量版本直到 v3.35,没有任何区别。

此外 - 但并不重要,缩放控件仅在 iOS 中丢失,也许这是一个相关的问题,尽管一旦 map 真正开始显示,它们甚至都不会出现。

对此问题有任何建议,我们将不胜感激!

最佳答案

灰色 map 通常意味着您的 API key 不允许使用 iOS map 。因此,请确保在生成 API key 之前启用 google maps android api v2 和 google maps sdk for ios。

您需要为应用程序(不是浏览器或服务器)生成 API key 。

然后,可以为 iOS 和 Android 使用相同的 API。

因为您提到这不起作用,请确保脚本标记位于 head 和 body 之间。

如果此操作也正确,请执行以下故障排除步骤: https://github.com/mapsplugin/cordova-plugin-googlemaps-doc/blob/master/v1.4.0/TroubleShooting/Blank-Map/README.md

如果您仍然遇到错误,请告诉我,我会再次查看。

关于ios - Ionic v1 – Google map 最初不会在 iOS 中加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51984128/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com