Google Maps API Android показывает карту адреса в MapFragment

У меня есть SupportMapFragment

private GoogleMap mMap;
// ...
mMap = ((MapFragment) getFragmentManager().findFragmentById(R.id.map)).getMap();

Я хочу загрузить карту для определенного адреса. Приведенный выше код я получил по адресу https://developers.google.com/maps/documentation/android/map. Я также видел этот пост API карт Google в Android, в котором говорится о запуске действия. Я не хочу этого делать, но загружаю его во фрагмент. Как мне это сделать? API карты Google (http://developer.android.com/reference/com/google/android/gms/maps/GoogleMap.html) также не имеет подходящего метода для загрузки карты с конкретным адресом.




Ответы (2)


Взгляните на этот код,

    public class MainActivity extends Activity {
  static final LatLng HAMBURG = new LatLng(53.558, 9.927);
  static final LatLng KIEL = new LatLng(53.551, 9.993);
  private GoogleMap map;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    map = ((MapFragment) getFragmentManager().findFragmentById(R.id.map))
        .getMap();

    if (map!=null){
      Marker hamburg = map.addMarker(new MarkerOptions().position(HAMBURG)
          .title("Hamburg"));
      Marker kiel = map.addMarker(new MarkerOptions()
          .position(KIEL)
          .title("Kiel")
          .snippet("Kiel is cool")
          .icon(BitmapDescriptorFactory
              .fromResource(R.drawable.ic_launcher)));
    }

  } 
person Basim Sherif    schedule 23.05.2013
comment
Я еще не проверил, но это выглядит великолепно! Благодаря тонну! - person Namratha; 23.05.2013
comment
Хорошая работа — копирование кода с сайта vogella.com/articles/AndroidGoogleMaps/article.html. и претендовать на кредит! Вы должны включить ссылки на код, на который вы ссылаетесь, особенно если он только что вставлен с чужого сайта. - person speedynomads; 31.07.2013
comment
@ domji84 извините, приятель, могу я узнать, где я взял кредит? Я разве говорил, что код мой? А в чем проблема скопировать такой простой код? В этом коде нет ничего особенного или сложного. Я просто нашел простой метод, выполнив поиск в Интернете, и предоставил его OP. И, наконец, в чем ваша проблема? - person Basim Sherif; 31.07.2013
comment
Без проблем. Просто хочу сказать, что я думаю, что ссылка на статью была бы полезной, так как это полный учебник по картам v2 с информацией о добавлении маркеров, а также множеством других вещей. - person speedynomads; 31.07.2013
comment
@ domji84 Тогда все в порядке, вот как вы должны оставлять комментарии. Предыдущий был несправедлив :) - person Basim Sherif; 31.07.2013

используйте геокодер, чтобы получить широту и долготу для нужного адреса, затем добавьте маркер на карту с этой широтой и долготой и установите камеру в эту точку с помощью инструкции followinf

mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(
            new LatLng(your latitude, your longitude), 11));

http://developer.android.com/reference/android/location/Geocoder.html

person prvn    schedule 23.05.2013
comment
Спасибо! Зачем нужно перемещение камеры? Не будет ли это медленнее, чем приведенная выше реализация? А накладные расходы на вызов moveCamera? - person Namratha; 23.05.2013
comment
когда карта загружается, она будет в полностью уменьшенном состоянии, и я не думаю, что она сфокусируется на позиции размещенного маркера, поэтому необходимо использовать камеру, чтобы сфокусироваться на этой позиции, а также установить уровень масштабирования. ну попробуй без движения камеры и посмотри что будет, если не фокусируется на маркере то используй камеру. если он фокусируется без камеры, то, как вы сказали, использование камеры будет накладным. дайте мне знать результат - person prvn; 23.05.2013