我想展示整个世界的流行地图,并在上面标记。
我尝试使用谷歌地图,但它似乎(这里)不支持缩小到足以显示整个世界。
从维基百科上看(这里),地球的中心位于北纬30°00′东经31°00′,但这似乎是在埃及,它看起来不像世界地图的中心,即使在维基百科页面上也是如此:
我在这里也发现了一个类似的问题,所以我将其转换为Android代码:
MapFragment mapFragment = (MapFragment) getFragmentManager().findFragmentById(R.id.mapFragment);
mapFragment.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(final GoogleMap googleMap) {
LatLngBounds allowedBounds = new LatLngBounds(
new LatLng(-85, 180), // bottom right corner
new LatLng(85, -180) // top left corner of map
);
double k = 5.0f;
double n = allowedBounds.northeast.latitude - k;
double e = allowedBounds.northeast.longitude - k;
double s = allowedBounds.southwest.latitude + k;
double w = allowedBounds.southwest.longitude + k;
LatLng neNew = new LatLng(n, e);
LatLng swNew = new LatLng(s, w);
LatLngBounds boundsNew = new LatLngBounds(swNew, neNew);
googleMap.setLatLngBoundsForCameraTarget(boundsNew);
}
});
但它根本没有显示整个世界:
我也尝试过使用zoom(看这里),但它从未缩小到足以显示大陆:
googleMap.moveCamera(CameraUpdateFactory.newLatLngZoom(new LatLng(30, 31), 1));
我选择了“1”,因为文档中说“1”是“世界”的值:
以下列表显示了在每个缩放级别可以看到的大致详细程度:
1: 世界
如何在谷歌地图上显示整个世界?
或者,有没有什么好的替代方案可以只显示世界地图(静态图像也很好),并能够在上面放置标记?也许甚至使用VectorDrawable?
是否有我可以展示的图像,并在其上添加标记?
这是一个使用Google静态地图API的可能解决方案。
查询是:
https://maps.googleapis.com/maps/api/staticmap?size=510x480¢er=0,0&zoom=1&scale=2&key=YOUR_KEY
只需使用大小参数来测试所需的视图。
您可以在谷歌地图Android API中使用Lite模式查看整个世界。
可以在其上添加标记,就像使用“完整贴图”模式一样。
可以使用精简模式显示整个世界并在其上放置标记:
... 如果需要在视口中显示整个世界,最好使用Lite模式。
标记位于“部分”支持的功能中:
您可以添加标记并响应单击事件。还可以添加自定义标记图标。不可能让一个标记可以拖动。lite模式贴图上的标记是平面的,不能旋转。
此外,您还可以使用其他功能,如直线和多边形绘制等。
因此,使用MainActivity类似:
public class MainActivity extends AppCompatActivity {
private static final String MAP_VIEW_BUNDLE_KEY = "MapViewBundleKey";
private MapView mMapView;
private GoogleMap mGoogleMap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bundle mapViewBundle = null;
if (savedInstanceState != null) {
mapViewBundle = savedInstanceState.getBundle(MAP_VIEW_BUNDLE_KEY);
}
mMapView = (MapView) findViewById(R.id.mapview);
mMapView.onCreate(mapViewBundle);
mMapView.getMapAsync(new OnMapReadyCallback() {
@Override
public void onMapReady(GoogleMap googleMap) {
mGoogleMap = googleMap;
mGoogleMap.addMarker(new MarkerOptions()
.position(new LatLng(31.755983, 35.212879))
.title("Jerusalem"));
}
});
}
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
Bundle mapViewBundle = outState.getBundle(MAP_VIEW_BUNDLE_KEY);
if (mapViewBundle == null) {
mapViewBundle = new Bundle();
outState.putBundle(MAP_VIEW_BUNDLE_KEY, mapViewBundle);
}
}
}
和activity\u main。xml(也可以通过GoogleMapOptions以编程方式为地图视图设置Lite模式。liteMode(true)
):
<com.google.android.gms.maps.MapView android:id="@+id/mapview"
xmlns:map="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
map:cameraZoom="1"
map:mapType="normal"
map:liteMode="true"
/>
你得到了这样的东西:
Something important is almost never mentioned in all the literature about programming and software development, and as a result we sometimes misunderstand each other. 有一样非常重要的东西从来没有编程/软件开发书籍提到过, 因此我们有
这个文档从底层描述了Chromium是如何展示网页的。请确认你已经读过多进程架构这篇文章。你会特别想要了解主要组件的框架。你也可能对多进程资源加载感兴趣,以了解网页是如何从网络中获取到的。 应用概念层 (关于这个阐述的原始Google文档是http://goo.gl/MsEJX,开放给所有@chromium.org的人编辑) 每个矩形代表了一个应用概念层,每一层都不了解上一层,也对上一层没有依赖。
本文向大家介绍js显示世界时间示例(包括世界各大城市),包括了js显示世界时间示例(包括世界各大城市)的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js显示世界时间的方法。分享给大家供大家参考,具体如下: 对JavaScript时间与日期显示感兴趣的朋友还可以参看本站在线工具: 在线世界各地时间查询 在线万年历日历 网页万年历日历 更多关于JavaScript相关内容可查看本站专题:《J
通过前两节课的学习,想必你已经对Threejs的层级模型有了一定认识,那么本节课就在层级模型概念的基础上,继续给家讲解两个新的概念,即本地坐标系和世界坐标系。 如果你对本地坐标系和世界坐标系已经有了一定概念,那么可以直接访问模型的位置属性.position获得模型在本地坐标系或者说模型坐标系下的三维坐标,通过模型的.getWorldPosition()方法获得该模型在世界坐标下的三维坐标。 .ge
在threejs中自定义了一个场景,该场景的原点由经纬度转换而来,创建了一条以原点为起点的线段,hover到线段上的时候如何计算hover点的经纬度? 获取到的经纬度与实际经纬度存在较大偏差
问题内容: 如何以与IE,Firefox和Opera兼容的方式使访问者的浏览器使用JavaScript全屏显示? 问题答案: 这与您使用JavaScript进入全屏显示的时间非常接近: