- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在关注this使用 Google map 构建 MEAN 应用程序的教程。我遇到的问题是 map 根本没有显示。浏览器控制台中没有错误,当我尝试使用 Node 检查器进行调试时,我注意到我可以在包含 Angular Factory 的文件中设置断点,但这些断点不会被触发。所以我想知道它是否会被调用。
工厂.js
angular.module('gservice', []).factory('gservice', function($http){
var googleMapService = {};
var stationLocations = [];
var selLat = 40.7831;
var selLong = -73.9712;
googleMapService.refresh = function(latitude, longitude){
stationLocations = [];
$http.get('/stations').then(function(response){
stationLocations = convertToMapPoints(reponse.data);
initialize(latitude, longitude);
}).error(function(){console.log("error")});
};
var convertToMapPoints = function(reponse){
var stationLocations = [];
for(var i=0; i < reponse.length; i++) {
console.log(i);
console.log("hi");
var station = reponse[i];
var stationDetails =
'<p>Station Name: ' + station.StationName +
'</p>';
// Convert retrieved JSON to GMaps LatLong Format
stationLocations.push({
latlong: new google.maps.LatLng(station.Latitude, station.Longitude),
message: new google.maps.InfoWindow({
content: stationDetails,
maxWidth: 300
}),
stationName: station.StationName
});
}
return stationLocations;
};
var initialize = function(latitude, longitude) {
var startLatLong = {lat: 40.7831, lng: -73.9712};
if (!map){
console.log('no map yet');
var map = new google.maps.Map(document.getElementById('map'), {
zoom: 12,
center: startLatLong
});
}
locations.forEach(function(n, i){
var marker = new google.maps.Marker({
position: n.latlong,
map: map,
title: "Citigraph",
icon: "http://maps.google.com/mapfiles/ms/icons/blue-dot.png"
});
google.maps.event.addListener(marker, 'click', function(e){
currentMarker = n,
n.message.open(map, marker);
});
});
var initLocation = new google.maps.LatLng(latitude, longitude);
var marker = new google.maps.Marker({
position: initLocation,
animation: google.maps.Animation.Bounce,
map: map,
icon: "http://maps.google.com/mapfiles/ms/icons/blue-dot.png"
});
lastMarker = marker;
};
google.maps.event.addDomListener(window, 'load',
googleMapService.refresh(selLat, selLong));
return googleMapService;
});
这应该获取 div map
并将 map 放置在 index.html 中:
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="initial-scale=1.0, user-scalable=no" />
<link rel="stylesheet" href="style.css"/>
<!-- Google Maps API -->
<script src="https://maps.googleapis.com/maps/api/js?key=KEY&sensor=true"></script>
<!-- JS Source -->
<script src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
<script src="/node_modules/angular/angular.js"></script>
<!-- Angular Files -->
<script src="./app.js"></script>
<script src="./factory.js"></script>
</head>
<body>
<div class="container">
<div id="map"></div>
</div>
</body>
</html>
app.js 如下:
var app = angular.module('citigraph', ['gservice']);
我的server.js:
var express = require('express');
var mongoose = require('mongoose');
var port = process.env.PORT || 3000;
var bodyParser = require('body-parser');
var morgan = require('morgan');
var methodOverride = require('method-override');
var app = express();
mongoose.connect('mongodb://127.0.0.1:27017/test2');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log('connected');
});
// Logging & Parsing
app.use(express.static(__dirname));
app.use(morgan('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.text());
app.use(bodyParser.json({ type: 'application/vnd.api+json'}));
app.use(methodOverride());
require('./routes.js')(app);
app.listen(port, function() {
console.log('Server listening on', 3000)
})
但正如前面提到的,页面保持空白并且没有错误。我几个小时以来一直在寻求解决这个问题,也许这里有人知道我应该朝哪个方向解决这个问题?
干杯
最佳答案
首先,服务和模块的名称不应相同。尝试将其更改为其他名称。
angular.module('gservice', []).factory('Myervice', function($http){
然后
var app = angular.module('citigraph', ['gservice']);
顺序也应该是,
<script src="./factory.js"></script>
<script src="./app.js"></script>
您还需要在 html 中包含 ng-app。
<div ng-app="citigraph" class="container">
<div id="map"></div>
</div>
</body>
关于javascript - Angular Factory 没有被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43732901/
有没有办法定义命名参数(不是模型属性)来控制 factory.Maybe 的行为? 例如:我想创建一个命名参数,通过可能条件控制RelatedFactory的创建,我尝试这样做: # factorie
我正在阅读有关创 build 计模式的文章,并且设法将自己完全混淆在工厂、抽象工厂和工厂方法之间。 我在下面发布了一个代码片段。是否有人可以告诉我这是哪一个以及(如果可能)可以对代码进行哪些更改以使其
我正在尝试让 Factory Girl 正常工作,但在运行测试时我不断收到此错误: /Users/dm/.rvm/gems/ruby-1.9.2-p180/gems/activesupport-3.1
有两个公共(public)接口(interface): LayoutInflater.Factory和 LayoutInflater.Factory2在 android sdk 中,但官方文档无法说明
在我们针对 rails 3.1.0 应用程序的 rspec 测试中,我们同时使用了 Factory.build 和 Factory.attributes_for。我们发现,如果我们将 Factory.
我想创建一个 ADF v2 管道来调用 Azure SQL 数据库中的存储过程。存储过程有输入参数并会返回多个结果集(大约 3 个)。我们需要把它提取出来。我们正在尝试加载到 4 个不同文件的 Blo
注意:问题位于帖子末尾。 我已经阅读了有关抽象工厂与工厂方法的其他 stackoverflow 线程。我理解每种模式的意图。不过我不太清楚这个定义。 Factory Method defines an
如何将 :subscriber factory 中的“email”属性值传递给它的关联:authentication 例如: factory :subscriber, :class => Subscr
我正在使用 Factory Boy为我的 Django 应用程序创建测试工厂。我遇到问题的模型是一个非常基本的帐户模型,它与 django 用户身份验证模型(使用 django < 1.5)具有 On
假设我们有一个 I/O 绑定(bind)方法(例如进行数据库调用的方法)。此方法既可以同步运行,也可以异步运行。也就是说, 同步: IOMethod() 异步: BeginIOMethod() End
我正在开发基于 Spring Boot Batch XML 的方法。在此示例中,我开发了一个如下所示的 CommonConfig。不知何故,我想对 Spring Batch 使用基于 XML 的方法,
更新 回答如下。万一链接站点消失,您可以使用 mocha stub 初始状态并防止覆盖,如... require 'mocha' class OrderTest "other_state") e
我有一个非常简单的 Rails 4 应用程序,想使用 Factory Girl 编写一些示例测试。该应用程序适用于一些简单的 rspec 测试(全部通过),但是当我将“factory_girl_rai
我们的要求是从 Blob 存储中获取数据并转换为其他表格形式。这可以通过使用 polybase 的 Sql DW 来实现。在这种情况下,Azure 数据工厂的真正作用是什么? 我知道 Azure 数据
如何解决Spring中Bean的自动连接歧义?我们有一个 Dessert 接口(interface),并且有实现该接口(interface)(Dessert)的三种不同的甜点(Bean)。 今天的甜点
我目前正在使用 RSpec 和 Factory_Bot_Rails gem 来测试应用程序,但我遇到了以下问题。 当使用 factory_bot_rails 版本 5.0.2 gem 时,我的工厂现在
我有下面的简化代码,可以异步获取多个承运人的运费,我想知道是否值得转换为使用异步/等待方法,如果是的话,最好的方法是什么?或者如果它现在工作正常,真的不值得付出努力吗?谢谢。 List> lstTas
我是初学者,正在尝试运行第一个简单的代码。 请帮我解决以下问题。 Error on line 11 of document : The element type "session-factory"
我正在寻求使我的 Rails 测试更快。我只有 520 个测试,但它们在 bash 中运行需要 62 秒,在 Rubymine 中运行需要 82 秒。 作为典型 Controller 测试的示例,我使
我们计划使用 IBM Web Experience Factory 来进行 future 的增强。从项目管理的角度来看我们正在考虑使用Maven。但由于没有在线帮助来同时使用这两个东西,我们无法继续前
我是一名优秀的程序员,十分优秀!