2016-07-20 9 views
-2

私はGoogle Maps APIを使用しています。マップマーカーをクリックすると、マップを1ステップで拡大したいが、マーカーの位置をウィンドウに対して維持する。Google mapsマーカを拡大する

これは、マウスホイールを使用してズームするときと似ています。ズームは現在のカーソル位置に向いています。

map.setZoom()関数はマップの中心を基準にズームインします。これは私が望むものではありません。

誰にも手掛かりがありません。

答えて

0

Hyこれを試してください。マーカーを自動的にズームします。

float zoomLevel = 16.0; //This goes up to 21 
mMap.moveCamera(CameraUpdateFactory.newLatLngZoom(latLng, zoomLevel)); 
+0

おかげMujjurajaが、私は、GoogleマップのJavaScriptのWeb APIを使用しています。 – Snaggerton

+0

@Snaggerton大丈夫このリンクをお読みくださいhttps://developers.google.com/maps/documentation/javascript/markers – mujjuraja

0

作品のこのような、ないエレガントなソリューション:

function zoomInAtMarker(marker) 
{ 
    var pos = marker.getPosition(); 
    var bounds = map.getBounds(); 
    map.setZoom(map.getZoom() + 1); 
    var span = map.getBounds().toSpan(); 
    var s = pos.lat() - span.lat() * (pos.lat() - bounds.getSouthWest().lat())/bounds.toSpan().lat(); 
    var w = pos.lng() - span.lng() * (pos.lng() - bounds.getSouthWest().lng())/bounds.toSpan().lng(); 
    map.panToBounds({ south:s, north:s + span.lat(), west:w, east:w + span.lng()}); 
} 
関連する問題