Merge & fix confilcts

This commit is contained in:
Guille
2016-07-17 19:44:19 +02:00
32 changed files with 1598 additions and 199 deletions
+47 -18
View File
@@ -80,8 +80,7 @@ export class GoogleMap {
on(event: any): Observable<any> {
return new Observable(
(observer) => {
let cb = data => observer.next(data);
this._objectInstance.on(event, cb);
this._objectInstance.on(event, observer.next.bind(observer));
return () => this._objectInstance.off(event);
}
);
@@ -392,11 +391,8 @@ export class GoogleMapsMarker {
addEventListener(event: any): Observable<any> {
return new Observable(
(observer) => {
let cb = (data: any) => {
observer.next(data);
};
this._objectInstance.addEventListener(event, cb);
return () => this._objectInstance.removeEventListener(event, cb);
this._objectInstance.addEventListener(event, observer.next.bind(observer));
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
}
);
}
@@ -540,9 +536,8 @@ export class GoogleMapsCircle {
addEventListener(event: any): Observable<any> {
return new Observable(
(observer) => {
let cb = data => observer.next(data);
this._objectInstance.addEventListener(event, cb);
return () => this._objectInstance.removeEventListener(event, cb);
this._objectInstance.addEventListener(event, observer.next.bind(observer));
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
}
);
}
@@ -632,9 +627,8 @@ export class GoogleMapsPolyline {
addEventListener(event: any): Observable<any> {
return new Observable(
(observer) => {
let cb = data => observer.next(data);
this._objectInstance.addEventListener(event, cb);
return () => this._objectInstance.removeEventListener(event, cb);
this._objectInstance.addEventListener(event, observer.next.bind(observer));
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
}
);
}
@@ -724,9 +718,8 @@ export class GoogleMapsPolygon {
addEventListener(event: any): Observable<any> {
return new Observable(
(observer) => {
let cb = data => observer.next(data);
this._objectInstance.addEventListener(event, cb);
return () => this._objectInstance.removeEventListener(event, cb);
this._objectInstance.addEventListener(event, observer.next.bind(observer));
return () => this._objectInstance.removeEventListener(event, observer.next.bind(observer));
}
);
}
@@ -954,8 +947,9 @@ export class GoogleMapsKmlOverlay {
export class GoogleMapsLatLngBounds {
private _objectInstance: any;
constructor(public southwest: GoogleMapsLatLng, public northeast: GoogleMapsLatLng) {
this._objectInstance = new plugin.google.maps.LatLngBounds([southwest, northeast]);
constructor(public southwestOrArrayOfLatLng: GoogleMapsLatLng | GoogleMapsLatLng[], public northeast?: GoogleMapsLatLng) {
let args = !!northeast ? [southwestOrArrayOfLatLng, northeast] : southwestOrArrayOfLatLng;
this._objectInstance = new plugin.google.maps.LatLngBounds(args);
}
@CordovaInstance({ sync: true })
@@ -1008,3 +1002,38 @@ export class GoogleMapsLatLng {
return this.lat.toFixed(precision) + ',' + this.lng.toFixed(precision);
}
}
/**
* @private
*/
export interface GeocoderRequest {
address?: string;
position?: { lat: number; lng: number };
}
/**
* @private
*/
export interface GeocoderResult {
position?: { lat: number; lng: number };
subThoroughfare?: string;
thoroughfare?: string;
locality?: string;
adminArea?: string;
postalCode?: string;
country?: string;
}
/**
* @private
*/
export class Geocoder {
/**
* Converts position to address and vice versa
* @param {GeocoderRequest} request Request object with either an address or a position
* @returns {Promise<GeocoderResult[]>}
*/
static geocode(request: GeocoderRequest): Promise<GeocoderResult[]> {
return new Promise<GeocoderResult[]>((resolve, reject) => {
if (!plugin || !plugin.google || !plugin.google.maps || !plugin.google.maps.Geocoder) reject({ error: 'plugin_not_installed' });
else plugin.google.maps.Geocoder.geocode(request, resolve);
});
}
}