cordova-plugin-googlemaps: iOS getTile function throws incorrect Coordinate
#1565 で修正していただいたバージョンで検証を行ったところ、 iOS 端末では getTile: function(x, y, zoom)で設定する x, y に不正な値が指定されることを確認しています。 なお、Android 端末では正常な動作を確認しています。
ソースコードは以下になります。 プロジェクトは #1565 で共有したリポジトリ、 map_sample を更新しています。
var mapDiv = document.getElementById("map_canvas");
var map = plugin.google.maps.Map.getMap(mapDiv, {
'mapType' : plugin.google.maps.MapTypeId.NONE,
'preferences': {
'zoom': {
'minZoom': 15,
'maxZoom': 16
}
},
'camera': {
target: new plugin.google.maps.LatLng(33.734529, 134.535423),
zoom: 15
}
});
map.one(plugin.google.maps.event.MAP_READY, function() {
console.log("Map is ready!");
map.addTileOverlay({
getTile: function(x, y, zoom) {
console.log("./image/tiles/" + zoom + "/" + x + "/" + y + ".png");
return "./image/tiles/" + zoom + "/" + x + "/" + y + ".png";
}
}, function(tileOverlay) {
});
});`
iOS デバイス上で実行した際、getTile ファンクションのリターン直前に実行される console.log では、以下が出力されます。
./image/tiles/15/57256/26234.png
./image/tiles/15/57257/26234.png
./image/tiles/15/57257/26235.png
(省略)
plugin.google.maps.LatLng で指定した座標位置に合わせて以下の範囲が設定されることを想定していましたが、iOS 端末ではそのように動作しないようです。ご確認いただけないでしょうか。 ./image/tiles/15/28625~28634/13117~13122.png
- 利用環境
- Cordova version
- 6.2.0
- cordova-plugin-googlemaps
- 2.0.0-beta2-20170718-1602
- using Monaca
- Cordova version
また、16027a3 以降のコミットを Monaca からビルドするとエラーになってしまうため、最新のプラグインは適用できておりません。
これが意図しない変更によるものであった場合は、対応をご検討いただけたらと存じます。
Build log:
Start building 59719d72ff2af25702017c24
Setup working directories...
Download project archive...
Extract project archive...
Fetch project info...
cordova version: 6.2.0
- preBuild -
Change Xcode Version to 7
codesign: iPhone Developer: (削除)
provisioningPath: /tmp/monaca/59719d72ff2af25702017c24/output/etc/debugger.mobileprovision
Prepare keychain...
- Cordova create -
$ /data/build-server/cordova/6.2.0/bin/cordova create /tmp/monaca/59719d72ff2af25702017c24/project
Creating a new cordova project.
- Create build.json -
build.json {
"ios": {
"debug": {
"codeSignIdentity": "iPhone Developer: (削除)
"provisioningProfile": (削除)
}
}
}
- Copy config.xml -
- Copy external plugin setting files -
- Copy .monaca-res directory -
- Cordova platform add -
$ /data/build-server/cordova/6.2.0/bin/cordova platform add /data/build-server/cordova/platforms/ios/4.2.1
Adding ios project...
Creating Cordova project for the iOS platform:
Path: platforms/ios
Package: com.example.monaca1
Name: offline_map_sample
iOS project created with cordova-ios@4.2.1
- Copy www files -
- Cordova plugin add -
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add mobi.monaca.plugins.Monaca
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add cordova-plugin-whitelist@1.2.2
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add cordova-plugin-splashscreen@3.2.2
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add cordova-custom-config@2.0.3
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add /tmp/monaca/59719d72ff2af25702017c24/output/plugins/cordova-plugin-googlemaps --variable API_KEY_FOR_ANDROID=AIzaSyARNicpApOfv7eEgTeomaIM_OBbKYQQTrI --variable API_KEY_FOR_IOS=AIzaSyAPN22DAi7oOGhexOFwV_YLQ3FzsTmd6Hw
$ /data/build-server/cordova/6.2.0/bin/cordova plugin add /Data/build-server/debugger/ios
- Cordova prepare -
$ /data/build-server/cordova/6.2.0/bin/cordova prepare ios
cordova-custom-config: Skipping auto-restore of config file backup(s)
cordova-custom-config: Applied custom config from config.xml to /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/offline_map_sample.xcodeproj/project.pbxproj
cordova-custom-config: Applied custom config from config.xml to /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/cordova/build.xcconfig
cordova-custom-config: Applied custom config from config.xml to /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/offline_map_sample/offline_map_sample-Info.plist
The module "ConfigParser" has been factored into "cordova-common". Consider update your plugin hooks.
- Cordova compile -
$ /data/build-server/cordova/6.2.0/bin/cordova compile --debug --device
Reading build config file:
Building project: /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/offline_map_sample.xcodeproj
Configuration: Debug
Platform: device
Build settings from command line:
CONFIGURATION_BUILD_DIR = /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/build/device
SHARED_PRECOMPS_DIR = /private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/build/sharedpch
Build settings from configuration file '/private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/cordova/build-debug.xcconfig':
CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = YES
CODE_SIGN_IDENTITY = iPhone Developer: (削除)
ENABLE_BITCODE = NO
GCC_PREPROCESSOR_DEFINITIONS = DEBUG=1
HEADER_SEARCH_PATHS = "$(TARGET_BUILD_DIR)/usr/local/lib/include" "$(OBJROOT)/UninstalledProducts/include" "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include" "$(BUILT_PRODUCTS_DIR)"
IPHONEOS_DEPLOYMENT_TARGET = 8.0
OTHER_LDFLAGS = -ObjC
PROVISIONING_PROFILE =(削除)
SWIFT_OBJC_BRIDGING_HEADER = $(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h
TARGETED_DEVICE_FAMILY = 1,2
=== BUILD TARGET CordovaLib OF PROJECT CordovaLib WITH CONFIGURATION Debug ===
Check dependencies
(中略)
- postBuild -
Remove working directories...
Build Error: Error: Sandbox Exec Error: [ ** BUILD FAILED **
The following build commands failed:
CompileC build/offline_map_sample.build/Debug-iphoneos/offline_map_sample.build/Objects-normal/armv7/PluginMarker.o offline_map_sample/Plugins/cordova-plugin-googlemaps/PluginMarker.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Error: Error code 65 for command: xcodebuild with args: -xcconfig,/private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/cordova/build-debug.xcconfig,-project,offline_map_sample.xcodeproj,-target,offline_map_sample,-configuration,Debug,-destination,platform=iOS,build,CONFIGURATION_BUILD_DIR=/private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/build/device,SHARED_PRECOMPS_DIR=/private/tmp/monaca/59719d72ff2af25702017c24/project/platforms/ios/build/sharedpch
]
</details>
About this issue
- Original URL
- State: closed
- Created 7 years ago
- Comments: 21 (14 by maintainers)
Commits related to this issue
- Bug fix: the MAP_READY event is not fired when the MAP_TYPE_NONE is specified at the map.getMap() #1577 — committed to mapsplugin/cordova-plugin-googlemaps by wf9a5m75 7 years ago
- Bug fix: MAP_READY event is not fired when the mapType = NONE and the camere option are specified (#1577) — committed to mapsplugin/cordova-plugin-googlemaps by wf9a5m75 7 years ago
- Bug fix: MAP_READY event is not fired when camera options are specified #1587 Bug fix: MAP_READY event is not fired when the app is launched in offline at the first time #1577 — committed to mapsplugin/cordova-plugin-googlemaps by wf9a5m75 7 years ago
- Bug fix: The opacity = 0 does not work for tileOverlay (#1577) — committed to mapsplugin/cordova-plugin-googlemaps by wf9a5m75 7 years ago
ご期待に添えて良かったです。
プラグインのバグを検証したり、新しいデバイスに対応したりするのに色々と経費がかかります。 無理強いはしておりませんが、いつか自分に返ってくると思って応援していただけると幸いです。 よろしくお願いします。