bounty还有2天到期。此问题的答案有资格获得+50声望奖励。Amir-Mousavi正在寻找一个规范答案。
In this code sandbox,我有一些标记,其中Infobox嵌套在单击时显示的标记中。我如何在切换到街景模式时也显示该信息框?
// The imports
import { GoogleMap, InfoBox, Marker, OverlayView, Polyline, useJsApiLoader } from '@react-google-maps/api';
{data.map(({ source, destination, distance }, index) => (
<Marker key={index} position={source}>
<InfoBox
options={{
enableEventPropagation: true,
boxStyle: {...}
}}
>
<div
style={{...}}
>
<p>Some text here</p>
</div>
</InfoBox>
</Marker>
))}
注意:代码沙箱中不提供API密钥。提供API密钥将显示StreetView图标,该图标可以在Map上靠近标记拖放。
1条答案
按热度按时间ej83mcc01#
将调用
InfoWindow#open
方法中的Map
替换为StreetViewPanorama
在Google's documentation for the Maps JavaScript API on overlays within street view中,需要注意的是,当调用
open()
方法时,通过传递StreetViewPanorama
而不是Map
,可以在StreetViewPanorama
中打开InfoWindow
。在
@react-google-maps/api
代码库中,InfoWindow.tsx
文件通过React的Context API获取Map
示例,并使用它打开InfoWindow
示例:这样,我们就可以导入
MapContext
并用它 Package 我们的<InfoWindow>
,以将map
替换为StreetViewPanorama
示例,我们可以通过使用<StreetViewPanorama>
的onLoad
事件来获得StreetViewPanorama
示例。View this example live at CodeSandbox.