2013-08-30 89 views
0

在我的應用程序中,我使用谷歌的google map api v3。當我打開我的地址面板時,我想要移動地圖控件,但是當我嘗試重新繪製地圖上的控件時,地圖控件沒有移位。我想要移動像谷歌地圖的所有地圖控制。爲了演示目的,請去https://maps.google.co.in/並搜索酒店或任何東西,然後隱藏側面地址面板。在那裏你可以看到地圖控件總是將窗體邊緣移動到面板邊緣。我想改變我的地圖控件。請提供任何解決方案,將我的控件移至Google地圖等地圖上。如何在地圖上移動谷歌地圖控件?

+0

你談論的地址面板滑動到一邊,地圖變寬和控制移動到一邊? – putvande

+0

如需查看我的申請,請轉到我的申請並繼續作爲訪客並點擊商店定位器鏈接。在那裏你可以看到谷歌地圖,比你可以搜索有效的美國郵政編碼如98124.你可以看到地址面板。地址面板打開時,地圖控件始終位於該面板後面。我想要將我的地圖控制轉換爲谷歌地圖等面板。鏈接:https://pay.evolvemoney.com/opp/ – user2700093

+0

是的,你是對的..我想改變我的地圖控制。正如你在谷歌地圖中看到的。請轉到我提供的鏈接,您可以看到我正在談論的情景..非常感謝.. !! – user2700093

回答

0

您可以嘗試的是在左側給出您的地圖的位置margin,當您關閉地址面板時,請移除margin並更新地圖。

因此,像:

<div id="map" style="width: 400px; height:400px; margin-left:100px"></div> 
<a href="#">Expand</a> 

<script> 
    var map = new google.maps.Map($('#map').get(0)); 
    map.setCenter(new google.maps.latLng(40.736852, -74.002748)); 
    map.setZoom(12); 

    var o = new google.maps.OverlayView(); 
    o.draw = function() {} 
    o.setMap(map); 

    $('a').on('click', function(){ 
     // Remove margin 
     $('#map').css('marginLeft','0px'); 
     // Get current position in pixels on the map 
     var current = o.getProjection().fromLatLngToContainerPixel(map.getCenter()); 
     // Set position to current - to margin-left. 
     map.setCenter(o.getProjection().fromContainerPixelToLatLng({x:current.x - 100, y:current.y})); 
    }); 
</script> 
+0

感謝您的評論..但我們在地圖上放一些別針。如果我們重新加載地圖意味着它失去了以前的狀態。 – user2700093

+0

是不是重新加載,它只是將中心稍微偏向右側。你不會丟失任何東西 – putvande

+0

Okey ...我可以試着讓你回來..謝謝很多人.. !!如果您有任何其他解決方案,請提供給我.. – user2700093