我正在使用Google Maps API嵌入Google地图开发移动网站.我已经能够阻止某些类型的行为,但是当我用手指向下滚动iPhone上的页面时,我无法找到阻止地图滚动的好方法.这是我正在使用的代码:
<script>
function initialize() {
var mapElem = document.getElementById("map"),
myOptions = {
zoom: 13,
center: new google.maps.LatLng(41.8965,-84.063),
navigationControl: true,
navigationControlOptions: {
style: google.maps.NavigationControlStyle.SMALL,
position: google.maps.ControlPosition.TOP_RIGHT
},
streetViewControl: false,
mapTypeControl: false,
disableDoubleClickZoom: true,
scrollwheel: false,
backgroundColor: '#f2efe9',
mapTypeId: google.maps.MapTypeId.ROADMAP
},
map = new google.maps.Map(mapElem, myOptions);
}
</script>
<script src='http://maps.google.com/maps/api/js?sensor=false&callback=initialize'></script>
Run Code Online (Sandbox Code Playgroud)
提前致谢.
我正在努力优化移动网站.我们有一个"位置"页面,其中包含有关位置的信息以及通过Google Maps API定位的地图.(v2 - 我知道它已被弃用,但我没有证明升级的时间,"如果没有破坏......")我想使用单列布局,其中包含基本信息,然后是地图,后跟更多信息.
现在当我用手指向下滚动iPhone上的移动页面时,一旦我到达地图,页面滚动被覆盖并且地图开始平移.我向下滚动页面的唯一方法是将手指放在地图的上方或下方,假设有这样的空间可用.如果我禁用地图拖动,那么当我开始向下滚动并到达地图时它不会平移,但页面也不会滚动.我想将地图视为可以滚动过去的静态图像,但仍然允许缩放按钮并允许通过我编码的选择字段重新绘制地图,因此文字静态图像不是解决方案.
我发现这篇文章需要类似的功能,但它使用的是v3.我认为我需要做的就是"将触摸事件添加到地图容器中",但我不熟悉javascript的这一部分,而我在下面的内容不允许正常滚动.我是否需要在v3上咬紧牙关,或者我是否有添加触摸事件的错误,该事件具有简单的javascript更正以执行我想要的操作?
function initialize() {
if (GBrowserIsCompatible()) {
map = new GMap2(document.getElementById("map_canvas"));
geocoder = new GClientGeocoder();
}
}
function showAddress(address, zoom) {
//clipped... this part works fine
}
//These three lines create a map that my finger pans
initialize();
showAddress("[clipped.. street, zip code]");
map.addControl(new GSmallZoomControl3D());
//This stops the map pan but still prevents normal page finger scrolling
map.disableDragging();
//If done right could this allow normal page finger scrolling??
var dragFlag = …Run Code Online (Sandbox Code Playgroud) javascript iphone mobile google-maps-api-3 google-maps-api-2
我有一个移动网页,客户可以通过表单提交或当前位置弹出窗口输入他们的邮政编码,然后找到附近的中心.响应包括这些中心的列表以及显示其位置的谷歌地图插页以及指示列表中指示的中心的引脚.
问题是地图占用了页面上的大量空间.很难向下滚动到地图下方的列表.
我想在Google地图上停用平移功能,以便人们可以触摸地图并在页面上下滚动.但是,我不想完全抑制地图上的所有触摸事件,因为我仍然希望人们能够点击引脚并查看与这些标记一起出现的弹出信息框.Hense为什么我认为静态图像实现可能不是可行的方法.
这是该页面的链接:
http://cs.sandbox.millennialmedia.com/~tkirchner/sites/K/kumon/zip_page.php
我还是相对较新的Google API,所以我确定我需要自定义一些选项或事件监听器,而我似乎还没有在文档中找到它.
任何帮助或链接将不胜感激.
function setMap(map) {
if ( typeof googleMap != 'undefined' && !changeFlag ) return;
var current = new google.maps.LatLng( f.current.latitude,
f.current.longitude );
var dragFlag = false;
var start = 0, end = 0, windowPos = 0;
zoom = zoom == 0 ? bestZoom() : zoom;
map.html('');
var mapArgs = {
zoom : zoom,
center : current,
mapTypeId : google.maps.MapTypeId.ROADMAP,
backgroundColor : '#FFFFFF',
mapTypeControl : false,
};
if ( !config.panning ) mapArgs['draggable'] = false; …Run Code Online (Sandbox Code Playgroud)