【问题标题】:How do I get particular location of google map in center in android studio?如何在 android studio 的中心获取谷歌地图的特定位置?
【发布时间】:2016-03-18 06:08:06
【问题描述】:

是否有任何解决方案可以仅在中心获取印度地图而不获取其他国家/地区。我只想显示印度地图。

帮帮我

如何使用自己的标记并减小其大小?

当我点击标记时如何缩放特定位置?

下面是代码

公共类 MapsActivity 扩展 FragmentActivity 实现 OnMapReadyCallback {

private GoogleMap mMap;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_maps);
    // Obtain the SupportMapFragment and get notified when the map is ready to be used.
    SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager()
            .findFragmentById(R.id.map);
    mapFragment.getMapAsync(this);
}



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

    // Add a marker in Sydney and move the camera
    LatLng latlng = new LatLng(24.000, 82.000);
   // mMap.addMarker(new MarkerOptions().position(latlng).title("Marker in india"));
    mMap.moveCamera(CameraUpdateFactory.newLatLng(latlng));
    mMap.animateCamera(CameraUpdateFactory.newLatLngZoom(latlng, 4.3f));
    mMap.setMyLocationEnabled(true);
    mMap.getUiSettings().setScrollGesturesEnabled(true);
    mMap.getUiSettings().setTiltGesturesEnabled(false);
    mMap.getUiSettings().setRotateGesturesEnabled(false);

    setUpMapIfNeeded();
}

private void setUpMapIfNeeded(){

    if(mMap!=null)
    {
        setUpMap();
    }

}

private void setUpMap() {
    Marker sikkim = mMap.addMarker(new MarkerOptions().position(new LatLng(27.2925, 88.3594)).title("Nit Sikkim"));
    Marker delhi = mMap.addMarker(new MarkerOptions().position(new LatLng(28.384764, 77.3037229)).title("Nit Delhi"));
    Marker patna = mMap.addMarker(new MarkerOptions().position(new LatLng(25.6207, 85.1729)).title("Nit Patna"));
    Marker calicut = mMap.addMarker(new MarkerOptions().position(new LatLng(28.384764, 77.3037229)).title("Nit Calicut"));
    Marker silcher = mMap.addMarker(new MarkerOptions().position(new LatLng(24.7574, 92.7854)).title("Nit Silcher"));
    Marker warangle = mMap.addMarker(new MarkerOptions().position(new LatLng(17.9808,79.5328)).title("Nit Warangle"));
    Marker durgapur = mMap.addMarker(new MarkerOptions().position(new LatLng(23.5483,87.2914)).title("Nit Durgapur"));
    Marker srinagar = mMap.addMarker(new MarkerOptions().position(new LatLng(34.1250,74.8397)).title("Nit Srinagar"));
    Marker trichy = mMap.addMarker(new MarkerOptions().position(new LatLng(10.763,78.818)).title("Nit Trichy"));
    Marker rourkela = mMap.addMarker(new MarkerOptions().position(new LatLng(22.2492,82.9161)).title("Nit Rourkela"));
    Marker agartala = mMap.addMarker(new MarkerOptions().position(new LatLng(23.9667,91.4167)).title("Nit Agartala"));
    Marker allahabad = mMap.addMarker(new MarkerOptions().position(new LatLng(25.4918,81.8658)).title("MNNit Allahabad"));
    Marker bhopal = mMap.addMarker(new MarkerOptions().position(new LatLng(23.2156,77.4083)).title("Nit bhopal"));
    Marker jaipur = mMap.addMarker(new MarkerOptions().position(new LatLng(26.8622,75.8156)).title("Nit Jaipur"));
    Marker hamirpur = mMap.addMarker(new MarkerOptions().position(new LatLng(31.7070,76.5263)).title("Nit hamirpur"));
    Marker jalandhar = mMap.addMarker(new MarkerOptions().position(new LatLng(31.3976,75.5349)).title("Nit Jalandhar"));
    Marker jamshedpur = mMap.addMarker(new MarkerOptions().position(new LatLng(22.7767,86.1489)).title("Nit Jamshedpur"));
    Marker kurushetra = mMap.addMarker(new MarkerOptions().position(new LatLng(29.9491,76.8173)).title("Nit Kurushetra"));
    Marker nagpur = mMap.addMarker(new MarkerOptions().position(new LatLng(21.1233,79.0516)).title("VNit Nagpur"));
    Marker raipur = mMap.addMarker(new MarkerOptions().position(new LatLng(21.2478,81.6039)).title("Nit Raipur"));
    Marker surat = mMap.addMarker(new MarkerOptions().position(new LatLng(21.1646, 72.7852)).title("Nit Surat"));
    Marker surathkal = mMap.addMarker(new MarkerOptions().position(new LatLng(13.0092, 74.7937)).title("Nit Surathkal"));
    Marker aurnachal = mMap.addMarker(new MarkerOptions().position(new LatLng(27.1498, 93.7170)).title("Nit Arunachal Prasad"));
    Marker goa = mMap.addMarker(new MarkerOptions().position(new LatLng(15.4225,73.9799)).title("Nit Goa"));
    Marker nagaland = mMap.addMarker(new MarkerOptions().position(new LatLng(25.7878,93.7744)).title("Nit Nagaland"));
    Marker mizoram = mMap.addMarker(new MarkerOptions().position(new LatLng(23.7484, 92.7208)).title("Nit Mizoram"));
    Marker uttrakhand = mMap.addMarker(new MarkerOptions().position(new LatLng(30.1968, 78.8227)).title("Nit Uttrakhand"));
    Marker pondicherry = mMap.addMarker(new MarkerOptions().position(new LatLng(10.9391,79.8317)).title("Nit Pondicherry"));

    LatLngBounds.Builder builder=new LatLngBounds.Builder();

    builder.include(sikkim.getPosition());
    builder.include(delhi.getPosition());
    builder.include(patna.getPosition());
    builder.include(calicut.getPosition());
    builder.include(silcher.getPosition());
    builder.include(warangle.getPosition());
    builder.include(durgapur.getPosition());
    builder.include(srinagar.getPosition());
    builder.include(trichy.getPosition());
    builder.include(rourkela.getPosition());
    builder.include(agartala.getPosition());
    builder.include(allahabad.getPosition());
    builder.include(bhopal.getPosition());
    builder.include(jaipur.getPosition());
    builder.include(hamirpur.getPosition());
    builder.include(jalandhar.getPosition());
    builder.include(jamshedpur.getPosition());
    builder.include(kurushetra.getPosition());
    builder.include(nagpur.getPosition());
    builder.include(raipur.getPosition());
    builder.include(surat.getPosition());
    builder.include(surathkal.getPosition());
    builder.include(aurnachal.getPosition());
    builder.include(goa.getPosition());
    builder.include(nagaland.getPosition());
    builder.include(mizoram.getPosition());
    builder.include(uttrakhand.getPosition());
    builder.include(pondicherry.getPosition());

} }

【问题讨论】:

  • 只有印度地图在中心,而不是其他国家”你的意思是,缩小的地图只是印度,那是不可能的。除非你做检查您在哪里限制地图缩小或超出印度的范围。如果您的意思是您只想让地图开始监督印度,只需指定LatLng 坐标和缩放值,就像@Stallion 的答案一样。

标签: android


【解决方案1】:

你不能这样做,因为地图总是显示为世界区域的完整视图,你不能限制它,但就像你只需要关注特定区域一样,你可以for more specific answer read this solution here ,特别是从你的问题来看,它似乎是添加多个marker你可以从那个链接获得参考

【讨论】:

  • 我尝试将相机聚焦在特定位置,但是当我同时放置 30 个标记时它不起作用。 mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(33.7167, 73.0667), 4));我没有把它放在正确的位置。
  • 好吧,就好像你正面临多个标记的问题并显示对它的关注。
  • 是的。我也试过这个,但发生了太多的 logcat 错误。 Marker marker1 = mMap.addMarker(new MarkerOptions().position(new LatLng(27.2925, 88.3594)).title("锡金")); LatLngBounds.Builder builder = new LatLngBounds.Builder(); builder.include(marker1.getPosition());
  • 查看我的更新答案,了解如何在地图上添加多个标记
  • 当我打开应用程序时......所有标记都应该可见。我不想在获取位置后添加标记,因为标记只会显示在当前位置。
猜你喜欢
  • 2015-10-17
  • 1970-01-01
  • 1970-01-01
  • 2014-02-19
  • 2016-01-16
  • 2015-03-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多