私はプロジェクトでwebpackとreactjsを使用していますが、今はGoogleマップAPIを統合したいと思います。最初に私のpackage.jsonファイルに "react-google-maps": "^ 4.9.1"を追加しました。以下は私のコンポーネントクラスです。反応プロジェクトでGoogleマップをインポートするには
import React, {PropTypes, Component} from 'react';
import { GoogleMap, Marker, SearchBox } from "react-google-maps";
import shouldPureComponentUpdate from 'react-pure-render/function';
const greatPlaceStyle = {
// initially any map object has left top corner at lat lng coordinates
// it's on you to set object origin to 0,0 coordinates
position: 'absolute',
width: 512,
height: 512,
left: 512/2,
top: 512/2,
border: '5px solid #f44336',
borderRadius: 512,
backgroundColor: 'white',
textAlign: 'center',
color: '#3f51b5',
fontSize: 16,
fontWeight: 'bold',
padding: 4
};
export default class SimpleMapPage extends Component {
static defaultProps = {
center: {lat: 59.938043, lng: 30.337157},
zoom: 1,
greatPlaceCoords: {lat: 59.724465, lng: 30.080121}
};
shouldComponentUpdate = shouldPureComponentUpdate;
constructor(props) {
super(props);
}
render() {
return (
<GoogleMap>
defaultCenter={this.props.center}
defaultZoom={this.props.zoom}>
<MyGreatPlace lat={59.955413} lng={30.337844} text={'A'} />
<MyGreatPlace {...this.props.greatPlaceCoords} text={'B'} />
</GoogleMap>
);
}
}
export default class MyGreatPlace extends Component {
static propTypes = {
text: PropTypes.string
};
static defaultProps = {};
//shouldComponentUpdate = shouldPureComponentUpdate;
constructor(props) {
super(props);
}
render() {
return (
<div style={greatPlaceStyle}>
{this.props.text}
</div>
);
}
}
私のindex.htmlファイルに、私は以下のjavascriptを追加しました。最初のものはgoold map apiの依存関係です。 2番目はwebpackによってパッケージ化されたbundle.jsです。アプリケーションにアクセスすると、Googleマップが表示されませんでした。私は問題が私のコンポーネントクラスにGoogleマップのAPIをインポートするに失敗すると思う。 googleapisをインポートする正しい方法は何ですか?
<script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyA2sDQZ-36NLlY4iMvoiuQ7mS1n-v8iq2M" async defer></script>
<script type="text/javascript" src="bundle.js" charset="utf-8"></script>
: 'tのは、ロードされた場合には、負荷がload-scriptを使用のためのDOM
の要素にスクリプトノードを追加その後、私は私のようなコンポーネントを反応させるには、この機能を使用開始します私のコンポーネントにHTML?私はすべてのjsをwebpackによって1つの大きなjsファイルにパッケージ化し、それを自分のhtmlから参照します。私がHTMLにコールバックを置くと、それはどうやってjsやコンポーネントにリンクしますか? –
インラインスクリプトは、グローバル名前空間内に存在するため、外部スクリプトを参照できます。 –