maps api on_mobile_dev_festbangkok

24

Upload: ss318

Post on 08-May-2015

2.566 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Maps API on_mobile_dev_festbangkok
Page 2: Maps API on_mobile_dev_festbangkok

Maps API on MobileDevFest Oct 2010 Bangkok

Shawn Shen @sshenDeveloper Advocate

Page 3: Maps API on_mobile_dev_festbangkok

Agenda

Mobile Mapping OverviewEmbed Javascript API in Native AppsJavascript API V3 Awesomeness

Page 4: Maps API on_mobile_dev_festbangkok

Mobile Mapping OptionsBrowsersStatic Maps APINative APIs

MapView on AndroidMap Kit on iPhone

Javascript API V3

Page 5: Maps API on_mobile_dev_festbangkok

Mobile Mapping Options

Google Geo APIs

Page 6: Maps API on_mobile_dev_festbangkok

Maps in Browser

1. Open a browser2. Go to YourSite.com3. Use Static Maps

API or Javascript API

Page 7: Maps API on_mobile_dev_festbangkok

Static Maps APIHTTP (RESTful) service for retrieving map images Fast and lightweight Suitable for all internet enabled devices

http://maps.google.com/maps/api/staticmap?sensor=false&size=255x150&markers=size:mid|label:!|37.4441,-122.163|&zoom=15

http://code.google.com/apis/maps/documentation/staticmaps/

Page 8: Maps API on_mobile_dev_festbangkok

MapView on Android Code

import com.google.android.maps.MapActivity;import com.google.android.maps.MapView;import android.os.Bundle;

public class MapsActivity extends MapActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); } @Override protected boolean isRouteDisplayed() { return false; }}

Page 9: Maps API on_mobile_dev_festbangkok

Map Kit on iPhone Code#import <UIKit/UIKit.h>#import <MapKit/MapKit.h>

@interface MapViewController : UIViewController<MKMapViewDelegate> { IBOutlet UITextField *addressField; IBOutlet UIButton *goButton; IBOutlet MKMapView *mapView;}

- (void)applicationDidFinishLaunching:(UIApplication *) application { mapViewController = [[MapViewController alloc] initWithNibName:@".."];

[window addSubview:mapViewController.view]; [window makeKeyAndVisible];}

Page 10: Maps API on_mobile_dev_festbangkok

Pros and Cons of Native APIs

Pro:Native app look and feelDistribution via Market/App StoreIntegration with device sensors

Con:Multiple code basesUpdates require download/install Lack of latest map features

Page 11: Maps API on_mobile_dev_festbangkok

Feature Comparisons of Maps APIsFeatures Google

Maps API V3

Google Maps on iPhone

Google Maps on Android

Google Static Maps API

Add a Map X X X X

Markers X X X X

Geocoding X X XPolygons/Polylines X X (4.0 SDK+) X X

Custom Map Tiles X

Styled Maps X

KML/GeoRSS Layers

X

Directions X

Street View X X X

Page 12: Maps API on_mobile_dev_festbangkok

Embed Javascript API V3 in Native AppsJavascript API V3 mapAndroidiPhone

Page 13: Maps API on_mobile_dev_festbangkok

Embed Javascript API in Native AppNative app: Android/iPhoneEmbedded browserUse Maps Javascript API V3

Best of Both Worlds: Native Apps + Maps Javascript API V3 features

Page 14: Maps API on_mobile_dev_festbangkok

Javascript API V3 Map: Easy!

var myLatlng = new google.maps.LatLng(lat, long);

var myOpt = { zoom: 8, center: myLatlng, mapTypeId: google.maps.MapTypeId.ROADMAP }

var map = new google.maps.Map($.("map"), myOpt);

Page 15: Maps API on_mobile_dev_festbangkok

Javascript API V3 Map

Page 16: Maps API on_mobile_dev_festbangkok

Embed Map in Android App

public class MyMapActivity extends Activity {

private WebView webView; private static final String MAP_URL = "..."; public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.main); setupWebView(); }} private void setupWebView(){webView.setWebViewClient(new WebViewClient());

webView.loadUrl(MAP_URL);}

Page 17: Maps API on_mobile_dev_festbangkok

Map in Android App in Eclipse

Page 18: Maps API on_mobile_dev_festbangkok

Embed Map in iPhone App@interface MyMapController : UIViewController {

IBOutlet UIWebView *webView;}

- (void) viewDidLoad {NSString *url = @"http://bit.ly/aw2bxu";NSURLRequest *request = [NSURLRequest a requestWithURL:[NSURL URLWithString:url]];

[webView loadRequest:request];}

Page 19: Maps API on_mobile_dev_festbangkok

Map in iPhone App in XCode

Page 20: Maps API on_mobile_dev_festbangkok

iPhone App in XCode (Demo)

Page 21: Maps API on_mobile_dev_festbangkok

More Javascript API V3 Awesomeness

HTML5 deck at /Users/shawnshen/Desktop/devfest/

Page 22: Maps API on_mobile_dev_festbangkok

Timeline of Maps Javascript API V3

Page 23: Maps API on_mobile_dev_festbangkok

Key Take-Aways

Recommended Mobile MappingEmbed Javascript map in native apps

Maps Javascript API V3 is awesome เท Lots of features

เจง Innovation

Page 24: Maps API on_mobile_dev_festbangkok

ขอบคุณ! Twitter @sshen

Q&A

Links:

http://code.google.com/apis/maps/documentation/javascript/

http://beyond-markers.appspot.com/

http://code.google.com/apis/ajax/playground/