出于某种原因,当我单击单个标记时,所有 InfoWindow 都会出现。当我单击一个标记时,我预计会显示一个 InfoWindow。有人可以解释为什么所有标记中的所有信息窗口都会出现吗?所以当我关闭它时,InfoWindow 也会关闭。
当我单击目标标记时,预期行为是 InfoWindow 打开。
class VenuesMap extends Component {
constructor(props) {
super(props);
this.state = {
isOpen: false,
};
}
handleToggleOpen = () => {
this.setState({
isOpen: true,
});
};
handleToggleClose = () => {
this.setState({
isOpen: false,
});
};
render() {
const venues = this.props.venues;
let markers;
let userMarkers = (
<Marker
position={{
lat: Number(latCurrentLocation),
lng: Number(lngCurrentLocation),
}}
/>
);
if (venues !== null) {
markers = venues.map((location, i) => {
const lat = location.venue.location.lat;
const …Run Code Online (Sandbox Code Playgroud) React-google-maps 未显示在屏幕上。我有一个 Home 组件,它正在渲染一个容器 MapNavigation 组件,该组件正在渲染视图地图组件。基本上就是首页 -> 地图导航 -> 地图
我试图显示一个简单的地图,但不起作用。
我正在关注本教程 - > https://tomchentw.github.io/react-google-maps/basics/simple-map
当我检查浏览器中的元素时,它显示 div 存在,但没有填充任何地图。
我缺少什么?
主页.js
import React, {Component} from 'react';
import {Posts, MapNavigation} from '../containers';
class Home extends Component {
render() {
return (
<div className='container'>
Home Layout
<div className='row'>
<div className='col-md-3'>
<MapNavigation/>
</div>
<div className='col-md-6'>
<Posts/>
</div>
<div className='col-md-3'>
Account
</div>
</div>
</div>
)
}
}
export default Home
Run Code Online (Sandbox Code Playgroud)
地图导航.js
import React, { Component } from 'react';
import { Map } from '../view'; …Run Code Online (Sandbox Code Playgroud) 我有一个关于在异步和等待中捕获用户错误的问题.
假设我有一条仅为单个用户提取的路由.
routes.js
routes.get('/getuserbyid/:id', (req, res) => {
const id = req.params.id;
accountController.getById(id)
.then((result) => {
res.json({
confirmation: 'success',
result: result
});
})
.catch((error) => {
res.json({
confirmation: 'failure',
error: error
});
});
});
Run Code Online (Sandbox Code Playgroud)
我有一个提取请求的控制器.accountController.js
export const getById = async (id) => {
try {
const user = await users.findOne({ where: {
id: id
}});
if (user === null) {
return 'User does not exist';
}
return user;
} catch (error) {
return error;
}
}
Run Code Online (Sandbox Code Playgroud)
所以无论发生什么,我都会得到一个空或一个记录.它仍然是成功的.在promises中,我可以拒绝null,因此它将显示在路径中的catch块中.现在用异步和等待.如何在错误块中实现相同的null?
export const getById …Run Code Online (Sandbox Code Playgroud) 所以我在 momentjs 上遇到了麻烦。当我拨打电话后,时间戳没有更新。我等了 30 秒才再次拨打电话,但仍然得到相同的时间。我怎样才能解决这个问题?下面是我的代码,所以让我知道我做错了什么。
var mongoose = require('mongoose');
var moment = require('moment');
var now = moment();
var UserSchema = new mongoose.Schema({
email: { type: String, default: ''},
name: { type: String, default: ''},
password: { type: String, default: ''},
timestamp: {type: String, default: now.format("dddd, MMMM Do YYYY, h:mm:ss a")}
});
module.exports = mongoose.model('UserSchema', UserSchema);
module.exports = {
find: function(params, callback) {
User.find(params, function(err, result) {
if (err) {
callback(err, null);
return;
}
callback(null, result);
return;
});
},
create: function(params, …Run Code Online (Sandbox Code Playgroud) google-maps ×2
javascript ×2
reactjs ×2
async-await ×1
infowindow ×1
momentjs ×1
mongodb ×1
mongoose ×1
promise ×1