相关疑难解决方法(0)

Google Map API v3 - 设置边界和中心

我最近切换到Google Maps API V3.我正在编写一个简单的例子来绘制数组中的标记,但是我不知道如何相对于标记自动居中和缩放.

我搜索了网络的高低,包括谷歌自己的文档,但没有找到一个明确的答案.我知道我可以简单地采用坐标的平均值,但是如何相应地设置缩放?

function initialize() {
  var myOptions = {
    zoom: 10,
    center: new google.maps.LatLng(-33.9, 151.2),


    mapTypeId: google.maps.MapTypeId.ROADMAP
  }
  var map = new google.maps.Map(document.getElementById("map_canvas"),myOptions);

  setMarkers(map, beaches);
}


var beaches = [
  ['Bondi Beach', -33.890542, 151.274856, 4],
  ['Coogee Beach', -33.423036, 151.259052, 5],
  ['Cronulla Beach', -34.028249, 121.157507, 3],
  ['Manly Beach', -33.80010128657071, 151.28747820854187, 2],
  ['Maroubra Beach', -33.450198, 151.259302, 1]
];

function setMarkers(map, locations) {

  var image = new google.maps.MarkerImage('images/beachflag.png',
      new google.maps.Size(20, 32),
      new google.maps.Point(0,0),
      new google.maps.Point(0, 32));
    var shadow = new …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps google-maps-api-3

295
推荐指数
4
解决办法
35万
查看次数

相当于gmaps api 3中的getBoundsZoomLevel()

在API v2中,map对象有一个方便的方法getBoundsZoomLevel().我用它来获得最适合边界的缩放级别,然后以某种方式操纵这个最佳缩放级别,最后设置所需的缩放级别.

我在API v3中找不到类似的功能.(从v2转到v3时,这是多么令人沮丧的经历)

我真的必须使用map.fitBounds(),再次map.getZoom()操纵setZoom()吗?那真是太蠢了!

javascript google-maps google-maps-api-3 google-maps-api-2

22
推荐指数
1
解决办法
1万
查看次数

如何影响map.fitBounds()的"宽限度"

在Google maps API v2中,我们国家的地图非常适合700x400px地图,其中包含以下内容:

map.getBoundsZoomLevel(<bounds of our country>)
Run Code Online (Sandbox Code Playgroud)

但是在API v3中,该map.fitBounds()方法不适合在700x400的缩放级别 - 它缩小了一个级别.

这意味着map.fitBounds()计算带有一些"优雅边际"或其他东西.

我该如何影响这个保证金的大小?

google-maps google-maps-api-3 google-maps-api-2

18
推荐指数
1
解决办法
4765
查看次数

Android用轴承映射V2 newLatLngBounds

我正在使用这个布局的新Android地图V2:

<fragment xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:map="http://schemas.android.com/apk/res-auto"
  android:id="@+id/map"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  class="com.google.android.gms.maps.SupportMapFragment"
  map:cameraBearing="270"/>
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用newLatLngBounds(LatLngBounds bounds,int padding)方法来缩放和查看地图中的所有标记,但摄像机方位设置为0.

谷歌开发者文档中的描述说:

public static CameraUpdate newLatLngBounds(LatLngBounds bounds,int padding)(...).返回的CameraUpdate的轴承为0,倾斜度为0.(...)".

如何更改轴承值?

在调用newLatLngBounds之后,我尝试以编程方式设置新轴承,如下所示:

mMap.moveCamera(CameraUpdateFactory.newLatLngBounds(bounds, 100));
mMap.moveCamera(CameraUpdateFactory.newCameraPosition(new CameraPosition.Builder()
.target(mMap.getCameraPosition().target)
.zoom(mMap.getCameraPosition().zoom)
.bearing(270)
.build()));
Run Code Online (Sandbox Code Playgroud)

但是当我这样做时,一些标记将不会显示出来.

android android-maps-v2

18
推荐指数
3
解决办法
1万
查看次数

从谷歌静态地图中的像素坐标获取lon/lat

我有一个使用谷歌静态地图的JAVA项目,经过几个小时的工作,我无法工作,我会解释一切,我希望有人能够帮助我.

我使用静态地图(480像素x 480像素),地图的中心是lat = 47,lon = 1.5,缩放级别是5.

现在我需要的是当我点击这个静态地图上的一个像素时能够得到lat和lon.经过一些搜索,我发现我应该使用墨卡托投影(对吗?),我还发现每个缩放级别在水平和垂直尺寸上的精度都加倍,但我找不到合适的公式来链接像素,缩放级别和lat/LON ...

我的问题只是关于从像素获取lat/lon,知道中心的坐标和像素以及缩放级别......

先感谢您 !

java google-maps google-maps-api-2

9
推荐指数
1
解决办法
7367
查看次数

在使用map.fitBounds之前,如何确定LatLngBounds的缩放级别?

我试图找到一种方法来确定地图的缩放级别,然后我调用map.fitBounds(),我似乎无法找到方法.

在API v2中有一个方法GMap.getBoundsZoomLevel(bounds:GLatLngBounds),但我在API v3文档中找不到相应的方法.

是否有非谷歌的算法可以预先确定缩放级别?

javascript google-maps google-maps-api-3

5
推荐指数
1
解决办法
6202
查看次数

为两个LatLong值计算Google Map的缩放级别

我使用com.google.android.gms.maps.GoogleMapSherlockFragmentActivity.

XML代码是这样的:

            <fragment
                android:id="@+id/map"
                android:name="com.google.android.gms.maps.SupportMapFragment"
                android:layout_width="fill_parent"
                android:layout_height="150dip" />
Run Code Online (Sandbox Code Playgroud)

int zoomLevel =?//我如何计算两个不同latlong值的缩放级别,因为android map v3需要将缩放级别告诉为int

map.setZoom(zoomLevel);
Run Code Online (Sandbox Code Playgroud)

我有起始值和目标值 com.google.android.gms.maps.model.LatLng

LatLng开始,结束;

我正在添加一个像pligon GoogleLocation.addPolyLineOnGMap(mMap, startPoint, endPoint, startMarker, endMarker)

我的问题是如何计算谷歌地图的缩放级别,以便它可以在地图上适当地显示两个标记.

android google-maps

5
推荐指数
2
解决办法
7629
查看次数

Google地图上的自定义缩放级别

我现在有一张缩放级别为4的简单地图。缩放级别5对我来说太大了。理想情况下,我希望在iOS SDK for Google Maps中可以达到4.6缩放级别。

有没有办法将缩放级别设置为4.6?我希望地图占据整个页面,因此不能真正放入div并使用该部分。

目的是在中心展示整个美国。

<!DOCTYPE html>
<html>
<head>
    <meta content="initial-scale=1.0, user-scalable=no" name="viewport">
    <meta charset="utf-8">
    <title>Map example</title>
    <style>
      html, body {
        height: 100%;
        margin: 0;
        padding: 0;
      }
      #map {
        height: 100%;
      }
    </style>
</head>
<body>
    <div id="map"></div>
    <script>

      var layer;
       var layer1;
      function initMap() {
        var map = new google.maps.Map(document.getElementById('map'), {
          zoom: 5,
          center: {lat: 39.8282, lng: -98.5795}
        });


      }
    </script> 
    <script async defer src=
    "https://maps.googleapis.com/maps/api/js?key=AIzaSyBMtoh9P3UkoxbXndKu_HOP7KsVwTRvxGU&callback=initMap">
    </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

google-maps

2
推荐指数
1
解决办法
5612
查看次数

在Google Maps API v3的数据库中存储地图边界

无论如何将边界和/或中心位置转换为字符串并通过json将其发送到服务器端并存储它?

我问,因为当我尝试将这些东西转换为字符串时; 我从api得到转换错误?

json bounds google-maps-api-3

1
推荐指数
1
解决办法
1383
查看次数