Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 用自定义按钮控制谷歌地图位置_Javascript_Google Maps - Fatal编程技术网

Javascript 用自定义按钮控制谷歌地图位置

Javascript 用自定义按钮控制谷歌地图位置,javascript,google-maps,Javascript,Google Maps,是否可以使用自定义控制器更改Google地图上的位置,而不是在移动应用程序上滑动或在浏览器上拖动? 我正在寻找与滑动/拖动相同的平滑变换位置,并且没有跳跃或移动。 根据问题中的示例修改的一个选项: 函数初始化(){ var mapDiv=document.getElementById('map_canvas'); var map=new google.maps.map(mapDiv{ 中心:新google.maps.LatLng(39.30029934.471664), 缩放:6, disab

是否可以使用自定义控制器更改Google地图上的位置,而不是在移动应用程序上滑动或在浏览器上拖动? 我正在寻找与滑动/拖动相同的平滑变换位置,并且没有跳跃或移动。

根据问题中的示例修改的一个选项:

函数初始化(){
var mapDiv=document.getElementById('map_canvas');
var map=new google.maps.map(mapDiv{
中心:新google.maps.LatLng(39.30029934.471664),
缩放:6,
disableDefaultUI:true,
});
var PanControl=new geocodezip.web.PanControl(map);
PanControl.index=1;
//map.controls[google.maps.ControlPosition.TOP_LEFT].push(PanControl);
document.getElementById('panctrl').appendChild(PanControl);
}
google.maps.event.addDomListener(窗口“加载”,初始化);
/**
*@param{string}标记名
*@param{Object.}属性
*@返回{Node}
*/
函数CreateElement(标记名、属性){
var elem=document.createElement(标记名);
用于(属性中的var属性){
如果(道具==“风格”)
elem.style.cssText=属性[prop];
否则如果(道具==“类”)
elem.className=属性[prop];
其他的
元素setAttribute(prop,properties[prop]);
}
返回元素;
}
/**
*@constructor
*@param{google.maps.Map}Map
*/
功能全控(map){
this.map=map;
this.originalCenter=map.getCenter();
var t=这个;
var panContainer=CreateElement(“div”{
'样式':“位置:相对;填充:5px;”
});
//泛控
var PanContainer=CreateElement(“div”{
'样式':“位置:相对;左侧:2px;顶部:5px;宽度:56px;高度:56px;填充:5px;溢出:隐藏;”
});
panContainer.appendChild(panContainer);
var div=CreateElement(“div”{
'样式':“宽度:56px;高度:56px;溢出:隐藏;”
});
div.appendChild(CreateElement(“img”){
“alt”:”,
“src”:”http://maps.gstatic.com/intl/en_ALL/mapfiles/mapcontrols3d5.png',
“样式”:位置:绝对;左侧:0px;顶部:-1px;-moz用户选择:无;边框:0px无;填充:0px;边距:0px;宽度:59px;高度:492px;”
}));
附录儿童(分部)全员;
div=CreateElement(“div”{
'样式':“位置:绝对;左侧:0px;顶部:19px;宽度:18.6667px;高度:18.6667px;光标:指针;”,
“标题”:“向左平移”
});
google.maps.event.addDomListener(div,“click”,function()){
t、 平移(平移方向。左);
});
附录儿童(分部)全员;
div=CreateElement(“div”{
'样式':“位置:绝对;左:37px;顶:19px;宽度:18.6667px;高度:18.6667px;光标:指针;”,
“标题”:“向右平移”
});
google.maps.event.addDomListener(div,“click”,function()){
t、 平移(PanDirection.RIGHT);
});
附录儿童(分部)全员;
div=CreateElement(“div”{
'样式':“位置:绝对;左侧:19px;顶部:0px;宽度:18.6667px;高度:18.6667px;光标:指针;”,
“标题”:“总括”
});
google.maps.event.addDomListener(div,“click”,function()){
t、 平移(PanDirection.UP);
});
附录儿童(分部)全员;
div=CreateElement(“div”{
'样式':“位置:绝对;左侧:19px;顶部:37px;宽度:18.6667px;高度:18.6667px;光标:指针;”,
“标题”:“向下平移”
});
google.maps.event.addDomListener(div,“click”,function()){
t、 平移(PanDirection.DOWN);
});
附录儿童(分部)全员;
div=CreateElement(“div”{
'样式':“位置:绝对;左侧:19px;顶部:19px;宽度:18.6667px;高度:18.6667px;光标:指针;”,
“标题”:“重置中心”
});
google.maps.event.addDomListener(div,“click”,function()){
t、 地图设置中心(t.原始中心);
});
附录儿童(分部)全员;
返回panContainer;
}
/**@param{PanDirection}方向*/
PanControl.prototype.pan=功能(方向){
var-panDistance=50;
如果(方向==PanDirection.UP | |方向==PanDirection.DOWN){
panDistance=Math.round(this.map.getDiv().offsetHeight/2);
这个.map.panBy(0,direction==PanDirection.DOWN?panDistance:-1*panDistance);
}否则{
panDistance=Math.round(this.map.getDiv().offsetWidth/2);
这个.map.panBy(direction==PanDirection.RIGHT?panDistance:-1*panDistance,0);
}
}
/**@enum*/
var泛方向={
左:0,,
右:1,,
上升:3,
下降:4
}
window[“geocodezip”]=window[“geocodezip”]| |{};
窗口[“geocodezip”][“web”]=窗口[“geocodezip”][“web”]|{};
窗口[“geocodezip”][“web”][“PanControl”]=PanControl
html,
身体{
身高:100%;
宽度:100%;
边际:0px;
填充:0px
}
#地图画布{
宽度:80%;
身高:100%;
边际:0px;
填充:0px
}

此问题:创建自定义平移控件。它不必出现在地图上。