2013-12-18 2 views
2

Я хочу показать туристические районы Марокко в карте osmdroid в приложении для Android.osmdroid - Добавить место на карте

Прежде всего, я искал в Интернете способы получить список координат (longitude & широта), которые могут определять область (например, массив или json), но без везения. Существуют решения только для одной точки на карте.

Во-вторых, с этими координатами, как я могу показать область на osmdroid? Благодарю.

+0

У меня есть один вопрос. Я также хочу использовать 'osmdroid' для карт, вам нужны Google Play Services для запуска карт, или я могу избавиться от него и использовать карты, не завися от сервисов Google Play? Ответьте, пожалуйста. Я хочу использовать osmdroid, потому что я не хочу зависеть от сервисов Google Play. – Apurva

+1

@Apurva Вам не нужно использовать ничего, что связано с Google. Просто OSMDroid сделает это – Mehdiway

+0

Не могли бы вы сказать, как я могу интегрировать 'osmdroid' или' osmbonuspack' в андроид-студию? Дайте мне ссылку, которую вы использовали. Я прочитал его документацию, но неясно, какие файлы '.jar' должны быть скопированы в папку' libs', и я не смог найти модификацию файла 'build.gradle'. – Apurva

ответ

2

Сначала я настоятельно рекомендую вам использовать Google Maps Api V2 через Службы Google Play. Это будет работать намного проще. Почему вы не используете это?

Во-вторых, нарисовать многоугольник на карте сделать soemthing как

private void AddPolygon() { 
    int diff=1000; 

    GeoPoint pt1=new GeoPoint(13.002798, 77.580000); 
    GeoPoint pt2= new GeoPoint(pt1.getLatitudeE6()+diff, pt1.getLongitudeE6()); 
    GeoPoint pt3= new GeoPoint(pt1.getLatitudeE6()+diff, pt1.getLongitudeE6()+diff); 
    GeoPoint pt4= new GeoPoint(pt1.getLatitudeE6(), pt1.getLongitudeE6()+diff); 
    GeoPoint pt5= new GeoPoint(pt1); 


    PathOverlay myOverlay= new PathOverlay(Color.RED, this); 
    myOverlay.getPaint().setStyle(Paint.Style.FILL); 

    myOverlay.addPoint(pt1); 
    myOverlay.addPoint(pt2); 
    myOverlay.addPoint(pt3); 
    myOverlay.addPoint(pt4); 
    myOverlay.addPoint(pt5); 

    map.getOverlays().add(myOverlay); 
} 
+1

Мы являемся компанией, которая имеет свою собственную ГИС. Вот почему мы используем пользовательскую карту apis, потому что это единственный способ показать свои собственные плитки. Код работает отлично, но в том, что я буду иметь десятки точек для определения области, у меня есть файл KML для каждой области, которую я хочу показать, есть ли способ дать osmdroid KML и показать его автоматически ? – Mehdiway

+0

Google Maps V2 представил TileProvider и TileOverlay, чтобы отображать ваши собственные плитки. – Knarf

+0

Также обратите внимание, что код, который я дал в моем первом ответе, фактически используется для использования с osmdroid. Возможно, это было непонятно из этого сообщения (и вы, где думаете, что это код GoogleMaps, но это не так, это код osmdroid). – Knarf

 Смежные вопросы

  • Нет связанных вопросов^_^