Javascript 如何使用React JS将FusionTablesLayer放入谷歌地图API?
我有一个疑问,我正在使用ReactJS来分离模块,我有一个名为InitialMap的类,我将其导出到app.js:Javascript 如何使用React JS将FusionTablesLayer放入谷歌地图API?,javascript,reactjs,google-maps,Javascript,Reactjs,Google Maps,我有一个疑问,我正在使用ReactJS来分离模块,我有一个名为InitialMap的类,我将其导出到app.js: import React from 'react'; import loadGoogleMapsAPI from 'load-google-maps-API'; const MAP_STYLES = { height: '450px', width: '100%' } const OPTIONS = { center: { lat: 4
import React from 'react';
import loadGoogleMapsAPI from 'load-google-maps-API';
const MAP_STYLES = {
height: '450px',
width: '100%'
}
const OPTIONS = {
center: {
lat: 41.850033,
lng: -87.6500523
},
zoom: 13,
}
const API_CONFIG = {
key:'My_Key xxxxxxx',
language: 'en'
}
export default class InitialMap extends React.Component{
componentWillUnmount() {
const allScripts = document.getElementsByTagName( 'script' );
[].filter.call(
allScripts,
( scpt ) => scpt.src.indexOf( 'My_Key xxxxxxx' ) >= 0
)[ 0 ].remove();
window.google = {};
}
componentDidMount() {
loadGoogleMapsAPI( API_CONFIG ).then( googleMaps => {
new googleMaps.Map( this.refs.map, OPTIONS );
}).catch( err => {
console.warning( 'Something went wrong loading the map', err );
});
}
render() {
return (
<div id="page-wrapper">
<div id= "page-header">
<div ref="map" style={MAP_STYLES}>
</div>
</div>
</div>
)
}
}
(我需要在我的代码中放入这个var层!!!)
如果有人能帮助我,我将不胜感激!
附言:我是新来的 如果您在页面上加载了API,它的工作方式应该完全相同,只需在创建映射实例时将其保存在类中,就可以在其他调用中使用它
loadGoogleMapsAPI( API_CONFIG ).then( googleMaps => {
this.map = new googleMaps.Map( this.refs.map, OPTIONS );
var layer = new google.maps.FusionTablesLayer({
query: {
select: '\'Geocodable address\'',
from: '1mZ53Z70NsChnBMm-qEYmSDOvLXgrreLTkQUvvg'
}
});
layer.setMap(this.map);
}).catch( err => {
console.warning( 'Something went wrong loading the map', err );
});
如果您在页面上加载了API,那么它的工作方式应该完全相同,只需在创建映射实例时将其保存在类中,就可以在其他调用中使用它
loadGoogleMapsAPI( API_CONFIG ).then( googleMaps => {
this.map = new googleMaps.Map( this.refs.map, OPTIONS );
var layer = new google.maps.FusionTablesLayer({
query: {
select: '\'Geocodable address\'',
from: '1mZ53Z70NsChnBMm-qEYmSDOvLXgrreLTkQUvvg'
}
});
layer.setMap(this.map);
}).catch( err => {
console.warning( 'Something went wrong loading the map', err );
});