Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't use markers functions with clustering #1706

Closed
guillenotfound opened this issue Sep 4, 2017 · 27 comments
Closed

Can't use markers functions with clustering #1706

guillenotfound opened this issue Sep 4, 2017 · 27 comments

Comments

@guillenotfound
Copy link

I'm submitting a ... (check one with "x")
[ ] question
[ x ] any problem or bug report
[ ] feature request

The plugin version: (check one with "x")
[ ] 1.4.x
[ x ] 2.0.0-beta3

If you choose 'problem or bug report', please select OS: (check one with "x")
[ x ] Android
[ ] iOS

cordova information: (run $> cordova plugin list)

cordova-custom-config 4.0.2 "cordova-custom-config"
cordova-open-native-settings 1.4.1 "Native settings"
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-compat 1.1.0 "Compat"
cordova-plugin-console 1.0.7 "Console"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-dialogs 1.3.3 "Notification"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-googlemaps 2.0.0-beta3-20170903-1743 "cordova-plugin-googlemaps"
cordova-plugin-mixpanel 3.1.0 "Mixpanel"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-request-location-accuracy 2.2.2 "Request Location Accuracy"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-wkwebview-engine 1.1.4-dev "Cordova WKWebView Engine"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova.plugins.diagnostic 3.6.6 "Diagnostic"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 1.10.5 "PushPlugin"
uk.co.workingedge.phonegap.plugin.launchnavigator 4.0.4 "Launch Navigator"

Current behavior:
When adding the marker cluster, clicking on a markers causes:
Uncaught TypeError: marker.one(...).then is not a function

Expected behavior:
Should be able to use a marker like I would without clustering.

Steps to reproduce:
Create a map with clustering & do something on infoWindow click.
If I remove marker.one(...) it works, but how can I handle infoWindow click?

Screen capture or video record:
ezgif-1-199b5123f2

(I know this is not the error since the InfoWindow opens automatically, but it's the same kind of error)

image

Related code, data or error log (please format your code or data):

        this.map.addMarkerCluster({
          boundsDraw: false,
          markers: markers,
          icons: [
            {min: 2, max: 100, url: 'assets/img/blue.png', anchor: {x: 16, y: 16}},
            {min: 100, max: 1000, url: 'assets/img/yellow.png', anchor: {x: 16, y: 16}},
            {min: 1000, max: 2000, url: 'assets/img/purple.png', anchor: {x: 24, y: 24}},
            {min: 2000, max: 5000, url: 'assets/img/red.png', anchor: {x: 32, y: 32}}
          ]
        }).then((markerCluster: MarkerCluster) => {
          markerCluster.on(GoogleMapsEvent.MARKER_CLICK).subscribe((arr: any) => {
            console.log('marker click');
            marker = arr[1];

            marker.one(GoogleMapsEvent.INFO_CLICK).then(() => {
              console.log('info-click')
            });
          });
        });
@Flo-D
Copy link

Flo-D commented Sep 4, 2017

Did you try to replace .then() by .subscribe() ?

Change

marker.one(GoogleMapsEvent.INFO_CLICK).then(() => {
  console.log('info-click')
});

To

marker.one(GoogleMapsEvent.INFO_CLICK).subscribe(() => {
  console.log('info-click')
});

@guillenotfound
Copy link
Author

Hello @Flo-D

I doesn't work that way, check the source code of ionic-native:

One works with promises:
https://github.com/ionic-team/ionic-native/blob/master/src/%40ionic-native/plugins/google-maps/index.ts#L745

On works with promises:
https://github.com/ionic-team/ionic-native/blob/master/src/%40ionic-native/plugins/google-maps/index.ts#L737

The matter is that I can't access any method from the marker when it's being created from the MarkerCluster.

|------------------------------------------|

Also there's another problem, usually you would do:
marker.set('some-variable')

Since you'd be iterating over an object, create the markers inside a loop and set any data if needed, now we pass an array of markers, and we must find another way to append data to those makers, or identify them, have to think on it.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 4, 2017

Did you try to reinstall the @ ionic-native / core and @ ionic-native google-maps plugins?

@guillenotfound
Copy link
Author

Hey, sorry for the delay...

Indeed, I reinstall the whole project and keeps happening. I'll try now on iOS.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 5, 2017

@ZiFFeL1992 Please share your project files on github (or others).
If you don't want to share your project files, please create a demo project, and share it.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 5, 2017

@guillenotfound
Copy link
Author

I can see both objects so that's not the issue.

I'll share a demo with you tomorrow.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 5, 2017

Ok, I will wait.

@Flo-D
Copy link

Flo-D commented Sep 6, 2017

Hi guys, now that this issue is closed, I got the same error as @ZiFFeL1992

I've updated my repo : https://github.com/Flo-D/test-google-maps-cluster

@guillenotfound
Copy link
Author

guillenotfound commented Sep 6, 2017

@Flo-D code looks good to me your code (similar to mine), can you review it @wf9a5m75 ?

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 6, 2017

His issue was solved already.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 6, 2017

@ZiFFeL1992 If you don't want to share any information (your project files, or demo project), I will close this thread, because there is no enough information.

@guillenotfound
Copy link
Author

What I mean is that after he fixed his error passing multiple arguments, he now has the same issue that I have, and as he said, he has updated the repo so you can reproduce my error in his repository.

Creating a demo by the way...

@guillenotfound
Copy link
Author

Here you have:
git@github.com:ZiFFeL1992/test-google-maps-cluster.git

Is based on @Flo-D code since it reproduces this issue, you have two branches, they do the same, one has ionic-native (master) and the other one (no-native) works fine because it doesn't use the wrapper so might be something related with the ionic-native wrapper.

Let me know if I can help,
thanks.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 7, 2017

@ihadeed

This is the problem of @ionic-native/google-maps.
As we discussed before, on and one does not convert the instance of JS plugin to the @ionic-native/google-maps.

In order to solve this problem, I implemented the FakeObeserval() and Promise, but you didn't prefer it.

In order to solve this problem perfectly, the one() and the on() methods need to convert the marker instance from JS to the @ionic-native/google-maps.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 7, 2017

@ZiFFeL1992 and @Flo-D

The marker instance is the JS instance, not the @ionic-native/google-maps class one.

That's why you need to write like this:

markerCluster.on(GoogleMapsEvent.MARKER_CLICK).subscribe((params) => {
  let latLng: LatLng = params[0];
  let marker: any = params[1];

  console.log(params);
  console.log(latLng);
  console.log(marker);

  marker.setAnimation(GoogleMapsAnimation.BOUNCE);

  marker.one(GoogleMapsEvent.INFO_CLICK, function() {
    console.log('info click');
  });
});

@wf9a5m75
Copy link
Member

wf9a5m75 commented Sep 8, 2017

Ok, I sent a PR.
danielsogl/awesome-cordova-plugins#1956

@wf9a5m75
Copy link
Member

Sorry, after the discussion with the ionic team, I don't support the @ionic-native/google-maps anymore. Please ask to the ionic-native repository.

@wf9a5m75
Copy link
Member

#1749

@wf9a5m75 wf9a5m75 reopened this Sep 21, 2017
@wf9a5m75
Copy link
Member

Luckily, the fundraising is reached to the end quickly, I restart to support the again.
I reopened the PR.

ihadeed pushed a commit to danielsogl/awesome-cordova-plugins that referenced this issue Sep 27, 2017
* Update index.ts

* Update index.ts

* Add missing features, and bug fix of methods

* update: classname must be in pascal case

* remove: duplicated class definition

* export encode and spherical static classes

* Add comma

* Fix Encoding and Spherical

* Add convenience methods

* Fix decorators for Encoding and Spherical

* Update: getMap() methods return the instance of the wrapper plugin

* Update: getMap() methods return the instance of the wrapper plugin

* Remove `@CordovaInstance` decorators from getMap()

* Update: GoogleMapOptions (all fields are not optional).

* Follow up:  version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps

* Fix: tslint error

* Fix: tslint error

* No more isAvailable() method.

* Bug fix: description is incorrect

* Bug fix: example code was wrong.

* Bug fix: HtmlInfoWindow does not work
#1815 (comment)

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* It seems the ionViewDidLoad() is enough delayed after platform.ready()

* Bug fix: map.setDiv()

* Bug fix: HtmlInfoWindow does not work

* Bug fix: BaseArrayClass definition is incorrect

* Bug fix: BaseArrayClass constructor is wrong

* Bug fix: Geocoder class does not work

* Bug fix: LatLngBounds constructor is wrong

* update: noNotify option is not declared

* Bug fix: Geocoder.geocode() returns array of GeocoderResult

* Update: clarify acceptable parameters of BaseArrayClass

* Add: AnimateCameraOption.padding is missing

* Revert: BaseClass.empty() method does not have the noNotify option

* Add `destruct` option to the CordovaOption.

- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.

* A semicolon is mixing

* update: event names

* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()

* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)

* Build for working group

* Bug fix: map.getCameraTarget() definition is incorrect

* Bug fix: The definition of VisibleRegion interface is incorrect

* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()

Add: VisibleRegion class

* Bug fix: the definition of map.clear() method is incorrect

* Fix: map.fromLatLngToPoint()

* Ignore the dist directory on the master branch

* Remove the dist folder on the master branch

* fixes and tweaks

* use union types for CameraPosition

fixes issue mentioned on slack by @wf9a5m75

* fix types

* update AnimateCameraOptions interface

* remove AnimateCameraOptions interface

* add MarkerCluster class

* Bug fix: Can not create an instance of BaseArrayClass

* Bug fix: the icons property of MarkerClusterOptions

* Bug fix: the zoom option is missing

mapsplugin/cordova-plugin-googlemaps#1712

* Update index.ts

* fix: need to convert instance type from the JS class to the wrapper class

mapsplugin/cordova-plugin-googlemaps#1706

* remove test file

* fix: Error: Illegal use of "@Private" tag.

* fix: The Environment, Encode, and Spherical  are static class

* fix:  convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes
@wf9a5m75
Copy link
Member

The PR is merged, and published as @ionic-native/google-maps ver 4.3.0.
Please reinstall the @ionic-native/google-maps plugin.
https://www.npmjs.com/package/@ionic-native/google-maps

@guillenotfound
Copy link
Author

Hey @wf9a5m75

Sorry but I didn't have so much time to test it, just copied your snniped from: #1706 (comment)

Result:
image

As you can see I'm getting the LatLng property but Marker seems to be undefined.

I reinstalled all the plugins, platform and npm modules, also I'm in 4.3.0 of ionic-native....

Thanks for supporting Ionic again!

@wf9a5m75
Copy link
Member

You guys also have to update the maps plugin

@guillenotfound
Copy link
Author

guillenotfound commented Sep 30, 2017

As I said in my previous comment, I reinstalled all dependencies to latests versions before reporting again.

com.googlemaps.ios 2.4.0 "Google Maps SDK for iOS"
cordova-custom-config 4.0.2 "cordova-custom-config"
cordova-open-native-settings 1.4.1 "Native settings"
cordova-plugin-actionsheet 2.3.3 "ActionSheet"
cordova-plugin-compat 1.2.0 "Compat"
cordova-plugin-device 1.1.6 "Device"
cordova-plugin-dialogs 1.3.3 "Notification"
cordova-plugin-file 4.3.3 "File"
cordova-plugin-file-transfer 1.6.3 "File Transfer"
cordova-plugin-geolocation 2.4.3 "Geolocation"
cordova-plugin-googlemaps 2.0.11 "cordova-plugin-googlemaps"
cordova-plugin-ionic-webview 1.1.8 "Ionic's WKWebView Engine"
cordova-plugin-mixpanel 4.0.0 "Mixpanel"
cordova-plugin-network-information 1.3.3 "Network Information"
cordova-plugin-request-location-accuracy 2.2.2 "Request Location Accuracy"
cordova-plugin-splashscreen 4.0.3 "Splashscreen"
cordova-plugin-statusbar 2.2.3 "StatusBar"
cordova-plugin-whitelist 1.3.2 "Whitelist"
cordova-plugin-wkwebview-engine 1.1.3 "Cordova WKWebView Engine"
cordova-plugin-x-socialsharing 5.1.8 "SocialSharing"
cordova.plugins.diagnostic 3.6.7 "Diagnostic"
es6-promise-plugin 4.1.0 "Promise"
ionic-plugin-deeplinks 1.0.15 "Ionic Deeplink Plugin"
ionic-plugin-keyboard 2.2.1 "Keyboard"
phonegap-plugin-push 2.0.0 "PushPlugin"
uk.co.workingedge.phonegap.plugin.launchnavigator 4.0.5 "Launch Navigator"
├── @angular/common@4.4.3
├── @angular/compiler@4.4.3
├── @angular/compiler-cli@4.4.3
├── @angular/core@4.4.3
├── @angular/forms@4.4.3
├── @angular/http@4.4.3
├── @angular/platform-browser@4.4.3
├── @angular/platform-browser-dynamic@4.4.3
├── @ionic-native/core@4.3.0
├── @ionic-native/deeplinks@4.3.0
├── @ionic-native/device@4.3.0
├── @ionic-native/diagnostic@4.3.0
├── @ionic-native/file@4.3.0
├── @ionic-native/file-transfer@4.3.0
├── @ionic-native/geolocation@4.3.0
├── @ionic-native/google-maps@4.3.0
├── @ionic-native/keyboard@4.3.0
├── @ionic-native/launch-navigator@4.3.0
├── @ionic-native/location-accuracy@4.3.0
├── @ionic-native/mixpanel@4.3.0
├── @ionic-native/network@4.3.0
├── @ionic-native/push@4.3.0
├── @ionic-native/social-sharing@4.3.0
├── @ionic-native/splash-screen@4.3.0
├── @ionic-native/status-bar@4.3.0
├── @ionic/app-scripts@3.0.0
├── @ionic/storage@2.0.1
├── cordova-android@6.3.0
├── cordova-custom-config@4.0.2
├── cordova-ios@4.5.1
├── cordova-open-native-settings@1.4.1
├── cordova-plugin-actionsheet@2.3.3
├── cordova-plugin-compat@1.2.0
├── cordova-plugin-device@1.1.6
├── cordova-plugin-dialogs@1.3.3
├── cordova-plugin-file@4.3.3
├── cordova-plugin-file-transfer@1.6.3
├── cordova-plugin-geolocation@2.4.3
├── cordova-plugin-googlemaps@2.0.11
├── cordova-plugin-googlemaps-sdk@2.4.0 (git+https://github.com/mapsplugin/cordova-plugin-googlemaps-sdk.git#0addb071b77be74cc1813cedea0797a207522628)
├── cordova-plugin-ionic-webview@1.1.9
├── cordova-plugin-mixpanel@4.0.0
├── cordova-plugin-network-information@1.3.3
├── cordova-plugin-request-location-accuracy@2.2.2
├── cordova-plugin-splashscreen@4.0.3
├── cordova-plugin-statusbar@2.2.3
├── cordova-plugin-whitelist@1.3.2
├── cordova-plugin-wkwebview-engine@1.1.3
├── cordova-plugin-x-socialsharing@5.2.0
├── cordova.plugins.diagnostic@3.6.7
├── es6-promise-plugin@4.1.0
├── help@3.0.2
├── ionic-angular@3.7.0
├── ionic-image-loader@4.2.1
├── ionic-plugin-deeplinks@1.0.15
├── ionic-plugin-keyboard@2.2.1
├── ionicons@3.0.0
├── phonegap-plugin-push@2.0.0
├── rxjs@5.4.3
├── sw-toolbox@3.6.0
├── typescript@2.3.3
├── uk.co.workingedge.phonegap.plugin.launchnavigator@4.0.5
└── zone.js@0.8.17

@wf9a5m75
Copy link
Member

wf9a5m75 commented Oct 5, 2017

Unfortunately, you still have to wait the next update. Because the PR implementation was changed after I sent the PR first time.

As the author of this plugin, I recommend you use this plugin without the @ionic-native/google-maps wrapper plugin.
The wrapper plugin takes overhead (such as converting instances). It means slow (bad performance) than pure JS plugin.

@wf9a5m75
Copy link
Member

wf9a5m75 commented Oct 6, 2017

I sent another PR.

ihadeed pushed a commit to danielsogl/awesome-cordova-plugins that referenced this issue Oct 6, 2017
* Update index.ts

* Update index.ts

* Add missing features, and bug fix of methods

* update: classname must be in pascal case

* remove: duplicated class definition

* export encode and spherical static classes

* Add comma

* Fix Encoding and Spherical

* Add convenience methods

* Fix decorators for Encoding and Spherical

* Update: getMap() methods return the instance of the wrapper plugin

* Update: getMap() methods return the instance of the wrapper plugin

* Remove `@CordovaInstance` decorators from getMap()

* Update: GoogleMapOptions (all fields are not optional).

* Follow up:  version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps

* Fix: tslint error

* Fix: tslint error

* No more isAvailable() method.

* Bug fix: description is incorrect

* Bug fix: example code was wrong.

* Bug fix: HtmlInfoWindow does not work
#1815 (comment)

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* It seems the ionViewDidLoad() is enough delayed after platform.ready()

* Bug fix: map.setDiv()

* Bug fix: HtmlInfoWindow does not work

* Bug fix: BaseArrayClass definition is incorrect

* Bug fix: BaseArrayClass constructor is wrong

* Bug fix: Geocoder class does not work

* Bug fix: LatLngBounds constructor is wrong

* update: noNotify option is not declared

* Bug fix: Geocoder.geocode() returns array of GeocoderResult

* Update: clarify acceptable parameters of BaseArrayClass

* Add: AnimateCameraOption.padding is missing

* Revert: BaseClass.empty() method does not have the noNotify option

* Add `destruct` option to the CordovaOption.

- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.

* A semicolon is mixing

* update: event names

* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()

* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)

* Build for working group

* Bug fix: map.getCameraTarget() definition is incorrect

* Bug fix: The definition of VisibleRegion interface is incorrect

* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()

Add: VisibleRegion class

* Bug fix: the definition of map.clear() method is incorrect

* Fix: map.fromLatLngToPoint()

* Ignore the dist directory on the master branch

* Remove the dist folder on the master branch

* fixes and tweaks

* use union types for CameraPosition

fixes issue mentioned on slack by @wf9a5m75

* fix types

* update AnimateCameraOptions interface

* remove AnimateCameraOptions interface

* add MarkerCluster class

* Bug fix: Can not create an instance of BaseArrayClass

* Bug fix: the icons property of MarkerClusterOptions

* Bug fix: the zoom option is missing

mapsplugin/cordova-plugin-googlemaps#1712

* Update index.ts

* fix: need to convert instance type from the JS class to the wrapper class

mapsplugin/cordova-plugin-googlemaps#1706

* remove test file

* fix: Error: Illegal use of "@Private" tag.

* fix: The Environment, Encode, and Spherical  are static class

* fix:  convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes

* Documentation Error #1994

* Need to create another way to convert the instance for marker cluster

* save

* Remove the instance of wrapper class if the JS instance is removed.
@wf9a5m75
Copy link
Member

wf9a5m75 commented Oct 6, 2017

@ionic-native/google-maps v4.3.1 has been released. Please use it with the multiple_maps branch.

@wf9a5m75 wf9a5m75 closed this as completed Oct 6, 2017
ihadeed pushed a commit to danielsogl/awesome-cordova-plugins that referenced this issue Nov 1, 2017
* Update index.ts

* Update index.ts

* Add missing features, and bug fix of methods

* update: classname must be in pascal case

* remove: duplicated class definition

* export encode and spherical static classes

* Add comma

* Fix Encoding and Spherical

* Add convenience methods

* Fix decorators for Encoding and Spherical

* Update: getMap() methods return the instance of the wrapper plugin

* Update: getMap() methods return the instance of the wrapper plugin

* Remove `@CordovaInstance` decorators from getMap()

* Update: GoogleMapOptions (all fields are not optional).

* Follow up:  version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps

* Fix: tslint error

* Fix: tslint error

* No more isAvailable() method.

* Bug fix: description is incorrect

* Bug fix: example code was wrong.

* Bug fix: HtmlInfoWindow does not work
#1815 (comment)

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* It seems the ionViewDidLoad() is enough delayed after platform.ready()

* Bug fix: map.setDiv()

* Bug fix: HtmlInfoWindow does not work

* Bug fix: BaseArrayClass definition is incorrect

* Bug fix: BaseArrayClass constructor is wrong

* Bug fix: Geocoder class does not work

* Bug fix: LatLngBounds constructor is wrong

* update: noNotify option is not declared

* Bug fix: Geocoder.geocode() returns array of GeocoderResult

* Update: clarify acceptable parameters of BaseArrayClass

* Add: AnimateCameraOption.padding is missing

* Revert: BaseClass.empty() method does not have the noNotify option

* Add `destruct` option to the CordovaOption.

- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.

* A semicolon is mixing

* update: event names

* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()

* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)

* Build for working group

* Bug fix: map.getCameraTarget() definition is incorrect

* Bug fix: The definition of VisibleRegion interface is incorrect

* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()

Add: VisibleRegion class

* Bug fix: the definition of map.clear() method is incorrect

* Fix: map.fromLatLngToPoint()

* Ignore the dist directory on the master branch

* Remove the dist folder on the master branch

* fixes and tweaks

* use union types for CameraPosition

fixes issue mentioned on slack by @wf9a5m75

* fix types

* update AnimateCameraOptions interface

* remove AnimateCameraOptions interface

* add MarkerCluster class

* Bug fix: Can not create an instance of BaseArrayClass

* Bug fix: the icons property of MarkerClusterOptions

* Bug fix: the zoom option is missing

mapsplugin/cordova-plugin-googlemaps#1712

* Update index.ts

* fix: need to convert instance type from the JS class to the wrapper class

mapsplugin/cordova-plugin-googlemaps#1706

* remove test file

* fix: Error: Illegal use of "@Private" tag.

* fix: The Environment, Encode, and Spherical  are static class

* fix:  convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes

* Documentation Error #1994

* Need to create another way to convert the instance for marker cluster

* save

* Remove the instance of wrapper class if the JS instance is removed.

* Bug fix: HtmlInfoWindow missing .on and .one methods
#2034

* Bug fix: HtmlInfoWindow constructor cause the error
mapsplugin/cordova-plugin-googlemaps#1661

* Fix: Error when removing map
mapsplugin/cordova-plugin-googlemaps#1823

* Add: the cssOptions argument for HtmlInfoWindow.setContent() method

* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()

Those methods need to create new instance of BaseArrayClass of wrapper plugin.

* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class

* update: use document.querySelector() instead of document.getElementById() if the passed element is string

update: map.setDiv()

Bug fix: can not create empty GoogleMap (pure JS version is available way)

* Fix: wait until the page is fully ready

* Fix: missing `clickable` option for PolygonOptions and PolylineOptions
ihadeed pushed a commit to danielsogl/awesome-cordova-plugins that referenced this issue Nov 8, 2017
…#2093)

* Update index.ts

* Update index.ts

* Add missing features, and bug fix of methods

* update: classname must be in pascal case

* remove: duplicated class definition

* export encode and spherical static classes

* Add comma

* Fix Encoding and Spherical

* Add convenience methods

* Fix decorators for Encoding and Spherical

* Update: getMap() methods return the instance of the wrapper plugin

* Update: getMap() methods return the instance of the wrapper plugin

* Remove `@CordovaInstance` decorators from getMap()

* Update: GoogleMapOptions (all fields are not optional).

* Follow up:  version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps

* Fix: tslint error

* Fix: tslint error

* No more isAvailable() method.

* Bug fix: description is incorrect

* Bug fix: example code was wrong.

* Bug fix: HtmlInfoWindow does not work
#1815 (comment)

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* It seems the ionViewDidLoad() is enough delayed after platform.ready()

* Bug fix: map.setDiv()

* Bug fix: HtmlInfoWindow does not work

* Bug fix: BaseArrayClass definition is incorrect

* Bug fix: BaseArrayClass constructor is wrong

* Bug fix: Geocoder class does not work

* Bug fix: LatLngBounds constructor is wrong

* update: noNotify option is not declared

* Bug fix: Geocoder.geocode() returns array of GeocoderResult

* Update: clarify acceptable parameters of BaseArrayClass

* Add: AnimateCameraOption.padding is missing

* Revert: BaseClass.empty() method does not have the noNotify option

* Add `destruct` option to the CordovaOption.

- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.

* A semicolon is mixing

* update: event names

* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()

* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)

* Build for working group

* Bug fix: map.getCameraTarget() definition is incorrect

* Bug fix: The definition of VisibleRegion interface is incorrect

* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()

Add: VisibleRegion class

* Bug fix: the definition of map.clear() method is incorrect

* Fix: map.fromLatLngToPoint()

* Ignore the dist directory on the master branch

* Remove the dist folder on the master branch

* fixes and tweaks

* use union types for CameraPosition

fixes issue mentioned on slack by @wf9a5m75

* fix types

* update AnimateCameraOptions interface

* remove AnimateCameraOptions interface

* add MarkerCluster class

* Bug fix: Can not create an instance of BaseArrayClass

* Bug fix: the icons property of MarkerClusterOptions

* Bug fix: the zoom option is missing

mapsplugin/cordova-plugin-googlemaps#1712

* Update index.ts

* fix: need to convert instance type from the JS class to the wrapper class

mapsplugin/cordova-plugin-googlemaps#1706

* remove test file

* fix: Error: Illegal use of "@Private" tag.

* fix: The Environment, Encode, and Spherical  are static class

* fix:  convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes

* Documentation Error #1994

* Need to create another way to convert the instance for marker cluster

* save

* Remove the instance of wrapper class if the JS instance is removed.

* Bug fix: HtmlInfoWindow missing .on and .one methods
#2034

* Bug fix: HtmlInfoWindow constructor cause the error
mapsplugin/cordova-plugin-googlemaps#1661

* Fix: Error when removing map
mapsplugin/cordova-plugin-googlemaps#1823

* Add: the cssOptions argument for HtmlInfoWindow.setContent() method

* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()

Those methods need to create new instance of BaseArrayClass of wrapper plugin.

* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class

* update: use document.querySelector() instead of document.getElementById() if the passed element is string

update: map.setDiv()

Bug fix: can not create empty GoogleMap (pure JS version is available way)

* Fix: wait until the page is fully ready

* Fix: missing `clickable` option for PolygonOptions and PolylineOptions

* Add: accept own properties for `addMarker()` and others #2087

Fix: some properties are required, but specified as optional.

Add: descriptions for properties

* Bug fix: Static classes are defined as non static class
https://stackoverflow.com/questions/47083289/ionic-native-google-maps-plugin-set-app-background-color/47165721#47165721

* Add: poly class (plugin.google.maps.geometory.poly namespace)
ihadeed pushed a commit to danielsogl/awesome-cordova-plugins that referenced this issue Feb 26, 2018
* Update index.ts

* Update index.ts

* Add missing features, and bug fix of methods

* update: classname must be in pascal case

* remove: duplicated class definition

* export encode and spherical static classes

* Add comma

* Fix Encoding and Spherical

* Add convenience methods

* Fix decorators for Encoding and Spherical

* Update: getMap() methods return the instance of the wrapper plugin

* Update: getMap() methods return the instance of the wrapper plugin

* Remove `@CordovaInstance` decorators from getMap()

* Update: GoogleMapOptions (all fields are not optional).

* Follow up:  version `2.0.0-beta2-20170719-2226` of cordova-plugin-googlemaps

* Fix: tslint error

* Fix: tslint error

* No more isAvailable() method.

* Bug fix: description is incorrect

* Bug fix: example code was wrong.

* Bug fix: HtmlInfoWindow does not work
#1815 (comment)

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* Bug fix: HtmlInfoWindow does not work

* It seems the ionViewDidLoad() is enough delayed after platform.ready()

* Bug fix: map.setDiv()

* Bug fix: HtmlInfoWindow does not work

* Bug fix: BaseArrayClass definition is incorrect

* Bug fix: BaseArrayClass constructor is wrong

* Bug fix: Geocoder class does not work

* Bug fix: LatLngBounds constructor is wrong

* update: noNotify option is not declared

* Bug fix: Geocoder.geocode() returns array of GeocoderResult

* Update: clarify acceptable parameters of BaseArrayClass

* Add: AnimateCameraOption.padding is missing

* Revert: BaseClass.empty() method does not have the noNotify option

* Add `destruct` option to the CordovaOption.

- This allows BaseClass.on() is able to pass multiple retuned values from the cordova plugin side to the event lister.

* A semicolon is mixing

* update: event names

* Update: BaseClass.addEventListener(), addEventListenerOnce(), on(), and one()

* Add: destruct option for otherPromise
Change: inside event names (must use the version 2.0.0-beta3-20170808-1950 or higher)

* Build for working group

* Bug fix: map.getCameraTarget() definition is incorrect

* Bug fix: The definition of VisibleRegion interface is incorrect

* Fix: LatLng, LatLngBounds, and PolylineOptions classes
Update: map.getVisibleRegion()

Add: VisibleRegion class

* Bug fix: the definition of map.clear() method is incorrect

* Fix: map.fromLatLngToPoint()

* Ignore the dist directory on the master branch

* Remove the dist folder on the master branch

* fixes and tweaks

* use union types for CameraPosition

fixes issue mentioned on slack by @wf9a5m75

* fix types

* update AnimateCameraOptions interface

* remove AnimateCameraOptions interface

* add MarkerCluster class

* Bug fix: Can not create an instance of BaseArrayClass

* Bug fix: the icons property of MarkerClusterOptions

* Bug fix: the zoom option is missing

mapsplugin/cordova-plugin-googlemaps#1712

* Update index.ts

* fix: need to convert instance type from the JS class to the wrapper class

mapsplugin/cordova-plugin-googlemaps#1706

* remove test file

* fix: Error: Illegal use of "@Private" tag.

* fix: The Environment, Encode, and Spherical  are static class

* fix:  convert JS instance to the ionic instance
add: BaseClass.destroy()
add: getId() method for all instance classes

* Documentation Error #1994

* Need to create another way to convert the instance for marker cluster

* save

* Remove the instance of wrapper class if the JS instance is removed.

* Bug fix: HtmlInfoWindow missing .on and .one methods
#2034

* Bug fix: HtmlInfoWindow constructor cause the error
mapsplugin/cordova-plugin-googlemaps#1661

* Fix: Error when removing map
mapsplugin/cordova-plugin-googlemaps#1823

* Add: the cssOptions argument for HtmlInfoWindow.setContent() method

* Bug fix: Polyline.getPoints(), Polygon.getPoints() and Polygon.getHoles()

Those methods need to create new instance of BaseArrayClass of wrapper plugin.

* Add: forEachAsync(), mapAsync(), and filterAsync() methods into BaseArray class

* update: use document.querySelector() instead of document.getElementById() if the passed element is string

update: map.setDiv()

Bug fix: can not create empty GoogleMap (pure JS version is available way)

* Fix: wait until the page is fully ready

* Fix: missing `clickable` option for PolygonOptions and PolylineOptions

* Add: accept own properties for `addMarker()` and others #2087

Fix: some properties are required, but specified as optional.

Add: descriptions for properties

* Bug fix: Static classes are defined as non static class
https://stackoverflow.com/questions/47083289/ionic-native-google-maps-plugin-set-app-background-color/47165721#47165721

* Add: poly class (plugin.google.maps.geometory.poly namespace)

* Bug fix: Ionic native googlemaps decodePath() returns undefined
https://forum.ionicframework.com/t/ionic-native-googlemaps-decodepath-returns-undefined/118624/

* PR #2254
#2254

* PR #2199
#2199

* Change defined event names for the cordova-plugin-googlemaps v2.0

* Change defined event names for the cordova-plugin-googlemaps v2.2.0

* Add Geolocation class

* Implement the `setMyLocationButtonEnabled()` method

* add: baseArrayClass.mapSeries() method
update: change internal methods

* update: implementation of the LocationService

* Implement the map.addKmlOverlay() method

* Update for the cordova-plugin-googlemaps v2.2.x
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants