2016-05-25 3 views
0

Я новичок в Android и совершенно не знаком с реализацией Google Maps на Android. У меня есть фрагмент, который должен отображать Карты Google, он делает это, но я хочу, чтобы он по умолчанию открывал карту города Осло. Я пробовал несколько вещей, но ничего не получилось. Это просто показывает карту мира где-то рядом с Африкой.Google Map Fragment default location

Вот мой код:

MapFragment.java

import android.os.Bundle; 
import android.support.v4.app.FragmentActivity; 

import com.google.android.gms.maps.CameraUpdateFactory; 
import com.google.android.gms.maps.GoogleMap; 
import com.google.android.gms.maps.OnMapReadyCallback; 
import com.google.android.gms.maps.SupportMapFragment; 
import com.google.android.gms.maps.model.LatLng; 
import com.google.android.gms.maps.model.MarkerOptions; 

public class MapFragment extends FragmentActivity implements OnMapReadyCallback { 

private GoogleMap mMap; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_map_fragment); 
    ((SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.map)) 
      .getMapAsync(this); 
} 

@Override 
public void onMapReady(GoogleMap googleMap) { 
    mMap = googleMap; 
    setUpMap(); 
} 

private void setUpMap() { 
    LatLng latLng = new LatLng(59.95, 10.75); 

    mMap.moveCamera(CameraUpdateFactory.newLatLng(latLng)); 

    mMap.animateCamera(CameraUpdateFactory.zoomTo(14)); 

} 
} 

activity_map_fragment.xml

<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 

<com.google.android.gms.maps.MapView 
    android:id="@+id/mapView" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    class="com.google.android.gms.maps.SupportMapFragment" /> 
</LinearLayout> 
+0

в ид MAPview макета MAPview, но в коде R.id.map, они должны быть одинаковыми – Blackkara

+0

использовать этот код 59,977988 , 10.606613 – Dharmaraj

ответ

0

Попробуйте это,

В XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="match_parent" 
android:layout_height="match_parent"> 
    <fragment xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/mapView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     class="com.google.android.gms.maps.SupportMapFragment" /> 
</LinearLayout> 

В кодексе,

SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager().findFragmentById(R.id.mapView); 
mapFragment.getMapAsync(this); 

И наконец, для камеры

LatLng latLng = new LatLng(59.95, 10.75); 
mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latLng, 17)); 
+0

Я исправил идентификатор и попробовал свой код. Он все еще не работает – Edd

+0

Нет, он не работает. Снова показывает карту мира. – Edd

+0

На самом деле, сейчас он работает ... Большое спасибо ... – Edd

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