我正在使用带有angularjs的MVC 5 Web应用程序。有一个谷歌地图。
在我的Angular视图中,我在app.js
中使用google map的指令。
请看下面的代码。
app.js
myApp.directive('googlemap', function ($compile) {
return {
controller: function ($scope) {
var map;
this.registerMap = function (myMap) {
var center = myMap.getCenter(),
latitude = center.lat(),
longitude = center.lng();
//zoom = center.zoom();
map = myMap;
$scope.latitude = latitude;
$scope.longitude = longitude;
$scope.zoom = map.getZoom();
};
$scope.$watch('latitude + longitude', function (newValue, oldValue) {
if (newValue !== oldValue) {
var center = map.getCenter(),
latitude = center.lat(),
longitude = center.lng();
if ($scope.latitude !== latitude || $scope.longitude !== longitude)
map.setCenter(new google.maps.LatLng($scope.latitude, $scope.longitude));
}
});
},
link: function (scope, elem, attrs, ctrl) {
var mapOptions,
latitude = attrs.latitude,
longitude = attrs.longitude,
//controlTemplate,
//controlElem,
map;
// parsing latLong or setting default location
latitude = latitude && parseFloat(latitude, 10) || 43.074688;
longitude = longitude && parseFloat(longitude, 10) || -89.384294;
mapOptions = {
zoom: 8,
disableDefaultUI: true,
center: new google.maps.LatLng(latitude, longitude),
mapTypeId: google.maps.MapTypeId.ROADMAP
};
map = new google.maps.Map(elem[0], mapOptions);
ctrl.registerMap(map);
function centerChangedCallback(scope, map) {
return function () {
var center = map.getCenter();
scope.latitude = center.lat();
scope.longitude = center.lng();
scope.zoom = map.getZoom();
if (!scope.$$phase) scope.$apply();
};
}
google.maps.event.addListener(map, 'center_changed', centerChangedCallback(scope, map));
}
};
});
HTML
<div style="height:400px;" googlemap latitude="43.074688" longitude="-89.384294"></div>
在本地主机上工作正常。但是当我在网页服务器上托管此页面时,
Google Chrome控制台中显示错误:
我发现两个页面的view-source:
有所不同(本地主机和托管
页)。在本地主机和托管页面中,脚本参考最少。
请问您对此问题有何建议?
参考方案
嗨,我很确定问题是正在加载您的脚本,请交叉检查脚本在主机中的位置。
Javascript IF语句 - javascript嗨,我有这段代码可以正常工作,并将两个日历显示为一个日历。我还有一个php变量$login_session,其中包含登录电子邮件地址的用户。关于如何显示[email protected]日历的任何想法(伪代码)IF $login_session == "[email protected]…
Selenium:如何使RemoteDriver始终附加到当前的浏览器选项卡? - javascript我正在开发一个Windows应用程序,该应用程序可以通过语音命令操纵浏览器。我想适当地处理用户添加一些标签并根据需要更改所选标签的情况。事实证明,RemoteDriver仅与一个选项卡一起使用,并且可以通过提供选项卡手柄将焦点切换到另一个选项卡。但是我不知道如何获取选定的选项卡句柄并始终检查选定的选项卡是否已更改,或者是否存在始终与选定的选项卡一起使用的方法…
重复使用Google Api Bearer令牌来访问用户的云端硬盘 - javascript我有以下几点: gapi.auth.authorize( { client_id: CLIENT_ID, scope: SCOPES, immediate: false }, handleAuthResult); 这使我可以访问access_token:目标是使该应用程序的用户可以授予对我的应用程序的访问权限,以使用其Google驱动器存储其内容。我需要能够…
无法使用Google登录从Firebase接收“电子邮件”以验证ID令牌 - javascript在我的网络应用程序中,我正在使用Firebase Google登录来验证用户身份,流程如下在前端,使用户使用firebase sdk登录,获取用户的idtoken并将其发送到服务器服务器使用idtoken验证用户并从idtoken获取电子邮件我正在使用python后端,并且使用google.oauth2.id_token模块来验证令牌并解码令牌问题是,对于少…
如何根据手势滚动网页 - javascript如何使用pyhton / javascript使用手势向上/向下或向左/向右滚动页面。我尝试了很多找到解决方案,但无法解决。 参考方案 Javascript手势插件(JSHG)是一个很棒的插件,它使您可以通过现有网站或Web应用程序中的网络摄像头来支持用户的手势识别。您无需具有计算机视觉的任何背景即可使用此插件。当前,它提供了一组基本的手势,其中包括手的位置…