Skip to content
Titanium module wrapping GoogleMaps SDK for iOS
Objective-C Python JavaScript
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings
Classes
assets
documentation
example
hooks
platform
tigmap.xcodeproj
.gitignore
.project
CHANGELOG.txt
JpDaisaru11DevTigmap_Prefix.pch
LICENSE
Readme.md
build.py
jp.daisaru11.dev.tigmap-iphone-0.1.zip
manifest
module.xcconfig
timodule.xml
titanium.xcconfig

Readme.md

TiGMap

A Titanium module wraps GoogleMaps SDK for iOS.

Using in your projects

  1. Getting an API key for GoogleMaps SDK

    Google APIs ConsoleからAPI keyを取得して、プロジェクトで利用しているAppID(bundle identifier)を登録します。
    Get API key from Google APIs Console, and register the AppID(bundle identifier) using in your project.

  2. Download the GoogleMaps SDK

    SDKをダウンロードして、好きな場所におきます。中には、GoogleMaps.frameworkが含まれており、これがビルド時に必要です。
    Download the SDK, and put it in an arbitrary directory. GoogleMaps.framework, which is included in the SDK files, is needed on building your project.

  3. Setup the module

    このモジュールjp.daisaru11.dev.tigmap-iphone-0.1.zipをプロジェクトのルートディレクトリに置きます。tiapp.xmlにこのモジュールの設定を追記します。
    Put jp.daisaru11.dev.tigmap-iphone-0.1.zip in the root directory of your project, and edit tiapp.xml:

     	<modules>
     		…
     		<module platform="iphone" version="0.1">jp.daisaru11.dev.tigmap</module>
     	</modules>
    

    module.xcconfigをコピーしてプロジェクトのルートディレクトリに置きます。module.xcconfigの中に書かれているOTHER_LDFLAGSを編集してframeworkの場所を指定します。たぶん、モジュールのビルド時のオプションを指定するファイルです。
    Copy module.xcconfig to the root directory of your project. Edit OTHER_LDFLAGS option to specify the directory including the framework:

     OTHER_LDFLAGS=$(inherited) -F"/Users/daichi/Frameworks/GoogleMaps-iOS-1.1.0" -framework GoogleMaps ...
    

    SDKに含まれているGoogleMaps.bundleをプロジェクト内のResourcesディレクトリの下にコピーします。
    Copy GoogleMaps.bundle into Resources directory of your project. GoogleMaps.bundle is located in GoogleMaps.framework/Resources/.

    あとは通常通り、ビルドするだけです。ビルドに失敗する場合はbuild/以下を削除して再ビルドすると成功する場合もあります。
    Build and run your project.

  4. How to use

    モジュールをrequireでロードし、Mapを表示する前にAPIKeyをセットします。
    Load the module by require, set your APIKey before displaying a map view:

     var tigmap = require('jp.daisaru11.dev.tigmap');
     tigmap.setAPIKey('YOUR APIKEY HERE');
    

    通常のViewのように他のViewやWindowにaddすることで表示します。
    Add a map view to other views or windows to display it.

     var mapView = tigmap.createGMapView({
     	location: {
         	latitude: 35.681382,
            	longitude: 139.766084
     	},
     	zoom: 6
     });
     win.add(mapView);
    

Available methods and events

  • create and show a MapView

    MapViewを生成する際にはlocationzoombearingviewingAngleといったプロパティを指定できます。詳しくはSDKのドキュメントをみてください。通常のビューのようにtopwidthといったプロパティも設定できます。
    MapView is created with the following properties: location, zoom, bearing, viewingAngle. See the SDK Documents for the detail.

      var mapView = tigmap.createGMapView({
     		location: {
      		latitude: 35.681382,
      		longitude: 139.766084
      	},
      	zoom: 6,
      	bearing: 90,
      	viewingAngle: 30,
      	width: 320,
      	height: 100
      });
    
  • change camera position

      mapView.setLocation({
              latitude: 34.693738,
              longitude: 135.502165
      });
      mapView.setZoom(12);
      mapView.setBearing(180);
      mapView.setViewingAngle(45);
    
  • change maptypes

      var mapView = tigmap.createGMapView({
     		location: {
      		latitude: 35.681382,
      		longitude: 139.766084
      	},
      	zoom: 6,
      	mapType: tigmap.NORMAL_TYPE
      });
      mapView.setMapType(tigmap.SATELLITE_TYPE);
      mapView.setMapType(tigmap.TERRAIN_TYPE);
      mapView.setMapType(tigmap.HYBRID_TYPE);
    
  • add and remove annotations(markers)

      var ann = tigmap.createGMapAnnotation({
              latitude: 34.693738,
              longitude: 135.502165,
              title: 'hoge'
      });
      mapView.addAnnotation(ann);
      mapView.removeAnnotation(ann);
    
  • listen events

      mapView.addEventListener('click', function(e) {
      	Ti.API.info('map clicked - latitude:'+e.latitude+', longitude:'+e.longitude);
      });
      mapView.addEventListener('longpress', function(e) {
      	Ti.API.info('map long pressed - latitude:'+e.latitude+', longitude:'+e.longitude);
      });
      mapView.addEventListener('changeCameraPosition', function(e) {
      	Ti.API.info('camera position changed - latitude:'+e.target.latitude+', longitude:'+e.target.longitude);
      });
      ann.addEventListener('click', function(e) {
          Ti.API.info('marker click - latitude:'+ann.latitude+', longitude:'+ann.longitude);
      });
      ann.addEventListener('infoWindowClick', function(e) {
      	Ti.API.info('infowindow click');	
      });
    

About

author: Daichi Sakai
license: MIT License

Sorry for my poor English.

You can’t perform that action at this time.