here-api开始使用here-api


备注

HERE API提供的主要功能如下所示。

  • 制图
  • 搜索
  • 路线
  • 转弯导航
  • 这里定位
  • LiveSight

获取HERE SDK凭据

通常,在开发新的HERE SDK应用程序之前,您需要通过在http://developer.here.com上注册您的应用程序来获取一组凭据。每个应用程序都需要一组唯一的凭据。注册应用程序时,注册的包标识符必须与项目中的包名称匹配。

每个应用程序,商业或评估都需要appid和app代码对来识别公司。此外,对于HERE Premium SDK,“许可证密钥”用于提供对高级转弯和离线功能的访问。

有关高级SDK,请参阅:[ https://developer.here.com/mobile-sdks/documentation/android-hybrid-plus/topics/credentials.html] [1 ]

有关入门SDK的信息,请参阅:[ https://developer.here.com/mobile-sdks/documentation/android/topics/credentials.html] [1 ]

创建一个新的Android Studio项目

  1. 在“欢迎使用Android Studio”对话框中,选择“新建项目...”以打开“创建新项目”对话框。

  2. 在New Android Application对话框的Application name下,指定适当的应用程序名称。本教程的其余部分使用BasicMapSolution作为应用程序名称。

  3. 在“公司域”下,指定适当的域。

  4. 单击“编辑”链接编辑包名称。本教程的其余部分使用com.here.android.tutorial作为包名。

    重要提示 :您必须使用与在developer.here.com上注册时相同的包名。如果不这样做,将导致在应用程序中显示空白地图。

    您也可以稍后在AndroidManifest.xml中编辑此包名:

 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.your.package.name.here"
      android:versionCode="1"
      android:versionName="1.0" >
 
  1. 在“项目位置”下,在文件系统中指定适当的项目位置。

  2. 点击下一步。

  3. 选择应用程序支持的外形规格。出于本教程的目的,请检查手机和平板电脑。

  4. 在Minimum SDK下,选择您希望支持的最低版本的Android SDK。对于此示例应用程序,请使用Android 4.0.3“Ice Cream Sandwich”。

  5. 点击下一步。

  6. 系统可能会提示您同意许可协议。单击“接受”,然后单击“下一步”以安装SDK组件安装完成后,再次单击“下一步”。

  7. 在“将活动添加到移动设备”对话框中,选择“空活动”,然后单击“下一步”。

  8. 在“自定义活动”对话框中,在“活动名称”中指定适当的活动名称。本教程使用名称BasicMapActivity。

  9. 在“布局名称”下,指定适当的布局名称。 (本教程使用activity_main。)

  10. 单击完成。

初始化地图片段

定义应用程序的基本布局并获取必要的权限后,最后一步是初始化MapFragment类的实例,从而创建Map并将其与activity_main.xml文件中声明的MapFragment相关联。

public class BasicMapActivity extends Activity {

  // map embedded in the map fragment
  private Map map = null;

  // map fragment embedded in this activity
  private MapFragment mapFragment = null;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    initialize();
  }

  private void initialize() {
    setContentView(R.layout.activity_main);

    mapFragment = (MapFragment)getFragmentManager().findFragmentById(R.id.mapfragment);
    mapFragment.init(new OnEngineInitListener() {
      @Override
      public void onEngineInitializationCompleted(OnEngineInitListener.Error error)
      {
        if (error == OnEngineInitListener.Error.NONE) {
          map = mapFragment.getMap();  
          map.setCenter(new GeoCoordinate(49.196261, -123.004773, 0.0),
                  Map.Animation.NONE);  
          map.setZoomLevel(
            (map.getMaxZoomLevel() + map.getMinZoomLevel()) / 2);
        } else {
          System.out.println("ERROR: Cannot initialize Map Fragment");
        }
      }
    });
  }
}
 

官方Github的例子

HERE Android Premium SDK示例现已在Github上提供! [ https://github.com/heremaps/here-android-sdk-examples] [1 ]

HERE iOS Premium SDK示例现已在Github上提供! [ https://github.com/heremaps/here-ios-sdk-examples][1]

有关如何入门的信息,请参阅README.md。请注意,示例需要权限密钥才能运行。