2017-01-26 6 views
0

Я пытаюсь использовать leaflet в реагировать ..Я взять ссылку на этот модуль https://github.com/PaulLeCam/react-leaflet https://www.npmjs.com/package/react-leaflet но это не показать карту, почему?Почему компонент не отображается в реакции?

вот мой код https://plnkr.co/edit/pTpPxhEFqouMrLTrKUFq?p=preview

// Код идет здесь

const { Map, TileLayer, Marker, Popup } = ReactLeaflet; 
class A extends React.Component{ 
    constructor() { 
    super(); 
    this.state = { 
     lat: 51.505, 
     lng: -0.09, 
     zoom: 13, 
    }; 
    } 
    render(){ 
    return (
    const position = [this.state.lat, this.state.lng]; 
    return (

     <Map center={position} zoom={this.state.zoom}> 
     <label>cccc</label> 
     <TileLayer 
      attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 
      url='http://{s}.tile.osm.org/{z}/{x}/{y}.png' 
     /> 
     <Marker position={position}> 
      <Popup> 
      <span>A pretty CSS3 popup. <br/> Easily customizable.</span> 
      </Popup> 
     </Marker> 
     </Map> 
    ); 
    ) 
    } 
} 

ReactDOM.render(<A/>,document.getElementById('example')); 

ответ

1

У вас есть два заявления, возвращаемые в вашем render.

render должен возвращать компоненты только один раз.

render(){ 
    const position = [this.state.lat, this.state.lng]; 
    return (

     <Map center={position} zoom={this.state.zoom}> 
     <label>cccc</label> 
     <TileLayer 
      attribution='&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors' 
      url='http://{s}.tile.osm.org/{z}/{x}/{y}.png' 
     /> 
     <Marker position={position}> 
      <Popup> 
      <span>A pretty CSS3 popup. <br/> Easily customizable.</span> 
      </Popup> 
     </Marker> 
     </Map> 
    ); 
    } 

Несколько пунктов:

{this.state.items.map(item => (
    <Marker position={[item.lat, item.lng]}> 
     <Popup> 
      <span>A pretty CSS3 popup. <br/> Easily customizable.</span> 
     </Popup> 
    </Marker 

)} 
+0

да .. !!! Я получил решение. Не могли бы вы рассказать мне, как добавить 2 или 3 маркера? – user944513

+0

см. Это https://plnkr.co/edit/pTpPxhEFqouMrLTrKUFq?p=preview .. в состояниях. У меня есть 2 или 3 элемента, как показывать значок? – user944513

+0

@ user944513 обновленный ответ –

Смежные вопросы