17 #ifndef AFRIGISMAPSDK_HPP
18 #define AFRIGISMAPSDK_HPP
20 #include <QtCore/QObject>
21 #include <bb/system/SystemUiResult>
22 #include "AGMapDataStruct.hpp"
29 class AbsoluteLayoutProperties;
30 class ForeignWindowControl;
36 class MapServerRequest;
58 enum ViewType { SatelliteView, MapView };
79 AfrigisMapSDK(bb::cascades::Page *mapPage,
double lat,
double lon,
int zoom, QString serviceName, QString serviceKey,
80 AGMapViewDelegate* mapViewDelegate, ViewType viewType,
int x,
int y,
int width,
int height);
99 AfrigisMapSDK(bb::cascades::Container *mapContainer,
double lat,
double lon,
int zoom, QString serviceName,
100 QString serviceKey,
AGMapViewDelegate* mapViewDelegate, ViewType viewType,
int x,
int y,
int width,
101 int height,
double scaleX = 1.0,
double scaleY = 1.0);
163 void trackMe(AGTrackMeType type);
204 QObject*
addRouteView(QList<QPair<float,float> > *routeGeoLocationCoordinates,
bool startMarkerOn,
bool endMarkerOn);
218 void zoomToExtend(QList<AGLocationCoordinate2D> *listOfPoints);
336 void onTrackingStarted(AGSignalType , QList<QVariant>);
342 void onTrackingStopped(AGSignalType , QList<QVariant>);
348 void onUserLocated(AGSignalType , QList<QVariant>);
354 void onUserLocatingFailed(AGSignalType , QList<QVariant>);
368 void connectSignals();
374 void emitSignal(AGSignalType signalType, QList<QVariant> params);
382 static const int trafficLayerTimeout = 500;
400 ViewManager *viewManager;
406 static MapServerRequest *serverRequest;
418 bb::cascades::AbsoluteLayoutProperties *layoutProperties ;
424 bb::cascades::ForeignWindowControl *foreignWindow;
430 bb::cascades::Container* container;
473 #endif // ifndef AFRIGISMAPSDK_HPP
void clearMap()
clears the map. Removes all pins, annotations, routes and traffic layers.
Definition: AfrigisMapSDK.cpp:468
void removePinView()
remove pin view.
Definition: AfrigisMapSDK.cpp:455
AGLocalPixelCoordinate2D * getLocalPixelFromLatLon(AGLocationCoordinate2D *geoCoordinate)
get device's local pixel coordinate of a latitude-longitude pair.
Definition: AfrigisMapSDK.cpp:437
void signalTrackingStarted()
signal emits when tracking started.
void zoomToExtend(QList< AGLocationCoordinate2D > *listOfPoints)
zoom to extend to show the given list of points fully on map.
Definition: AfrigisMapSDK.cpp:351
void enableZoomInOutButton(bool zoomInOutButtonEnabled)
enable disable zoom in out button.
Definition: AfrigisMapSDK.cpp:230
CircleItem * createCircleItem(QList< AGLocationCoordinate2D > *circleCenter, float circleRadius, QColor *circleColor, AGOffsetInPixel offset=AGOffsetInPixel())
add circle item.
Definition: AfrigisMapSDK.cpp:425
void pauseRender()
private.
Definition: AfrigisMapSDK.cpp:523
void setBubbleEnabled(bool bubbleStatus)
enable disable bubble to show.
Definition: AfrigisMapSDK.cpp:544
The AGMapViewDelegate defines a set of optional methods that you can use to receive map related updat...
Definition: AGMapViewDelegate.h:33
AGLocalPixelCoordinate2D struct for local pixel coordinate.
Definition: AGMapDataStruct.hpp:93
void addPinView(AGGeoInformation *geoInfo, QByteArray *imageData, bool callOutBubbleEnabled, bool contextMenuEnabled)
add pin view to show pin in certain location.
Definition: AfrigisMapSDK.cpp:447
void removeRouteView(QObject *routeView)
remove route view.
Definition: AfrigisMapSDK.cpp:323
Item interface that need to be implemented by all annotation item object. Currently CircleItem...
Definition: Item.hpp:25
AfrigisMapSDK(bb::cascades::Page *mapPage, double lat, double lon, int zoom, QString serviceName, QString serviceKey, AGMapViewDelegate *mapViewDelegate, ViewType viewType, int x, int y, int width, int height)
Constructor to create map.
void removeAnnotationView(AnnotationView *annotationView)
remove annotation view.
Definition: AfrigisMapSDK.cpp:403
void signalUserLocatedWithAccuracy(int)
signal emits when user located after tracking start.
View responsible for presenting annotations visually in map. Annotation view are loosely coupled to a...
Definition: AnnotationView.hpp:29
AGOffsetInPixel Move offset pixel to draw annotation item.
Definition: AGMapDataStruct.hpp:102
void enableLocatingUserInCenter(bool enable)
enable or disable re-centre map in user's current location.
Definition: AfrigisMapSDK.cpp:500
void stopTracking()
stop tracking but show the last tracking position.
Definition: AfrigisMapSDK.cpp:505
void removeLocateMe()
remove locate-me.
Definition: AfrigisMapSDK.cpp:486
Definition: AfrigisMapSDK.hpp:24
Annotation Item object representing a rectangle area on map which is filled with provided image...
Definition: ImageItem.hpp:35
void resumeRender()
private.
Definition: AfrigisMapSDK.cpp:531
Annotation Item object representing a poly-line (example: route) on map. This class manages the data ...
Definition: PolylineItem.hpp:25
PolylineItem * createPolylineItem(QList< AGLocationCoordinate2D > *geoLocationCoordinates, bool enableZoomToExtend, AGOffsetInPixel offset=AGOffsetInPixel())
add poly-line item.
Definition: AfrigisMapSDK.cpp:419
bool isBubbleEnabled()
get bubble enable status.
Definition: AfrigisMapSDK.cpp:549
An AfrigisMapSDK object provides an embeddable map interface. You use this class as-is to display map...
Definition: AfrigisMapSDK.hpp:52
Annotation Item object representing a circular area on map. This class manages the data that defines ...
Definition: CircleItem.hpp:26
void addTrafficLayer()
show traffic layer on map.
Definition: AfrigisMapSDK.cpp:277
ImageItem * createImageItem(QList< AGLocationCoordinate2D > *imageCenter, QByteArray *image, int imageWidth, int imageHeight, AGOffsetInPixel offset=AGOffsetInPixel())
add Image item.
Definition: AfrigisMapSDK.cpp:431
void signalUserLocatingFailed()
signal emits when located user failed.
void removeTrafficLayer()
remove traffic layer.
Definition: AfrigisMapSDK.cpp:293
void stopAndRemoveTracking()
stop tracking and remove the indicator.
Definition: AfrigisMapSDK.cpp:513
bool isBubbleTouched(double localX, double localY)
private.
Definition: AfrigisMapSDK.cpp:539
AGLocationCoordinate2D struct for latitude and longitude.
Definition: AGMapDataStruct.hpp:83
AGGeoInformation * getCurrentBoundingBox()
get current bounding box informaion.
Definition: AfrigisMapSDK.cpp:271
void setViewType(ViewType viewType)
set different view type of map: SatelliteView, MapView.
Definition: AfrigisMapSDK.cpp:235
AGLocationCoordinate2D * getLatLonFromLocalPixel(AGLocalPixelCoordinate2D *pixelCoordinate)
get latitude-longitude pair of a device's local pixel coordinate.
Definition: AfrigisMapSDK.cpp:442
void signalMapViewTouchedDown(AGGeoInformation *)
signal emits when touch down event occurs on map.
void trackMe(AGTrackMeType type)
Starts track-me.
Definition: AfrigisMapSDK.cpp:494
AnnotationView * addAnnotationView(QList< Item * > *itemList=NULL)
add annotation view.
Definition: AfrigisMapSDK.cpp:387
QObject * addRouteView(QList< QPair< float, float > > *routeGeoLocationCoordinates, bool startMarkerOn, bool endMarkerOn)
show route on map.
Definition: AfrigisMapSDK.cpp:310
void updateLocation(AGLocationCoordinate2D *updatedLocationCoordinate=NULL, int zoomLevel=0)
update centre location of map.
Definition: AfrigisMapSDK.cpp:518
void signalTrackingStopped()
signal emits when tracking stopped.