Advertisement
Guest User

Untitled

a guest
Jun 16th, 2019
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.52 KB | None | 0 0
  1. import React, { Component } from "react";
  2. import ReactDOM from "react-dom";
  3. import { Row, Col } from "reactstrap";
  4.  
  5. import "./styles.css";
  6. export default class App extends Component {
  7. constructor(props) {
  8. super(props);
  9. // console.log("Comments lead_id" + this.props.id);
  10. this.state = {
  11. agentList: [
  12. {
  13. status: "green",
  14. name: "X",
  15. lat: "28.5718026",
  16. long: "77.0275846"
  17. },
  18. {
  19. status: "grey",
  20. name: "Y",
  21. lat: "28.5700000",
  22. long: "77.0275846"
  23. }
  24. ]
  25. };
  26.  
  27. this.initMap = this.initMap.bind(this);
  28. this.navAgent = this.navAgent.bind(this);
  29. }
  30.  
  31. componentDidMount() {
  32. this.initMap();
  33. }
  34.  
  35. initMap() {
  36. var map = new google.maps.Map(document.getElementById("map"), {
  37. zoom: 10,
  38. center: new google.maps.LatLng(28.6139, 77.209),
  39. mapTypeId: google.maps.MapTypeId.ROADMAP
  40. });
  41. for (var i = 0; i < this.state.agentList.length; i++) {
  42. var marker = new google.maps.Marker({
  43. position: new google.maps.LatLng(
  44. this.state.agentList[i].lat,
  45. this.state.agentList[i].long
  46. ),
  47. map: map,
  48. zoom: 9
  49. });
  50. }
  51. }
  52.  
  53. navAgent(idx, e) {
  54. e.preventDefault();
  55.  
  56. // console.log(this.state.agentList[id].lat);
  57. var latLng = new google.maps.LatLng(
  58. this.state.agentList[id].lat,
  59. this.state.agentList[id].long
  60. );
  61.  
  62. map.panTo(latLng);
  63. }
  64.  
  65. render() {
  66. return (
  67. <div>
  68. <Col xs="9" sm="9" md="9" lg="9">
  69. <div
  70. id="map"
  71. style={{
  72. width: "100%",
  73. height: "500px",
  74. backgroundColor: "gray",
  75. borderRadius: "5%"
  76. }}
  77. />
  78. </Col>
  79. <Col xs="3" sm="3" md="3" lg="3">
  80. <span
  81. style={{
  82. margin: "2px",
  83. fontSize: "12px",
  84. textAlign: "center",
  85. marginLeft: "1em"
  86. }}
  87. >
  88. {this.state.agentList.map(function(d, idx) {
  89. {
  90. }
  91. return (
  92. <div>
  93. <button
  94. onClick={e => {
  95. this.navAgent(idx, e);
  96. }}
  97. >
  98. {d.name}
  99. </button>
  100. </div>
  101. );
  102. }, this)}
  103. </span>
  104. </Col>
  105. </div>
  106. );
  107. }
  108. }
  109.  
  110. const rootElement = document.getElementById("root");
  111. ReactDOM.render(<App />, rootElement);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement