android - use of osmdroid for a map base application -


i trying write map base application via osmdroid , want when user opens application, can see googlemaps online. write codes in eclipse can't see google maps when run application on virtual device androidmanifest file:

<uses-sdk android:minsdkversion="10" /> <uses-permission android:name="android.permission.access_fine_location"/> <uses-permission android:name="android.permission.access_coarse_location"/> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.internet" />`  <uses-permission android:name="android.permission.access_fine_location"/> <uses-permission android:name="android.permission.access_coarse_location"/> <uses-permission android:name="android.permission.access_wifi_state" /> <uses-permission android:name="android.permission.access_network_state" /> <uses-permission android:name="android.permission.internet" />  <uses-feature android:name="android.hardware.location.network" /> <uses-feature android:name="android.hardware.location.gps" />    <uses-feature android:name="android.hardware.wifi" />   <application     android:allowbackup="true"     android:icon="@drawable/ic_launcher"     android:label="@string/app_name"     android:theme="@style/apptheme" >      <activity         android:name="com.example.osm.mainactivity"         android:label="@string/app_name" >         <intent-filter>             <action android:name="android.intent.action.main" />              <category android:name="android.intent.category.launcher" />         </intent-filter>     </activity>      <meta-data         android:name="com.google.android.gms.version"         android:value="myapikey" /> </application>  </manifest> 

it codes:

import org.osmdroid.tileprovider.tilesource.tilesourcefactory; import org.osmdroid.util.geopoint; import org.osmdroid.views.mapview;  import android.os.bundle; import android.app.activity; import android.view.menu;  public class mainactivity extends activity {      @override     protected void oncreate(bundle savedinstancestate) {          super.oncreate(savedinstancestate);          mapview mapview=new mapview(this, 256);   //         mapview mapview = new m(this, 256);       mapview.setclickable(true);         mapview.setbuiltinzoomcontrols(true);          mapview.getcontroller().setzoom(14);         mapview.getcontroller().setcenter(new geopoint(34.638293,50.876312));          setcontentview(mapview);         mapview.setusedataconnection(false);         mapview.settilesource(tilesourcefactory.mapnik); }    @override   public boolean oncreateoptionsmenu(menu menu) {     // inflate menu; adds items action bar if present.     getmenuinflater().inflate(r.menu.main, menu);     return true; }  } 

try implement this:

private void setmapview() {      if (mmap != null) {         mmap.setmylocationenabled(false);     }       final com.google.android.maps.mapview mapview = new com.google.android.maps.mapview(this, manifestutil.retrievekey(this, "com.google.android.geo.api_key"));     setcontentview(mapview);     mmap = mapfactory.getmap(mapview);      final position position = new position(52.370816, 9.735936); // hannover     position.setzoomlevel(14);     mmap.setposition(position);     mmap.setmylocationenabled(false);      addmarkers();      addpolyline();      mmap.setoncamerachangelistener(new oncamerachangelistener() {         @override         public void oncamerachange(final iposition position) {             log.d(constants.logtag, "oncamerachange");         }     }); } 

this osmdroid sample. can see need google geo api key obtain google map tiles app. maybe better solution use different maps google maps. official documentation lists "out of box" map sources can use https://github.com/osmdroid/osmdroid/wiki/map-sources


Comments

Popular posts from this blog

routing - AngularJS State management ->load multiple states in one page -

python - GRASS parser() error -

Swift game error message -